React Native Android自定义启动页状态栏 配置后报错是否缺导入
启动页状态栏配置报错解决方法
你遇到的报错为SplashScreenTheme样式资源未找到问题,可按以下步骤排查解决:
- 首先检查安卓项目
res/values/styles.xml文件中是否添加了对应主题定义,标准配置示例如下:
<resources> <!-- 应用基础主题 --> <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar"> <item name="android:textColor">@android:color/black</item> </style> <!-- 启动页专属主题 --> <style name="SplashScreenTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- 启动页背景,对应res/drawable下的启动页资源文件 --> <item name="android:windowBackground">@drawable/splash_screen</item> <!-- 是否全屏显示 --> <item name="android:windowFullscreen">false</item> <!-- 自定义状态栏颜色 --> <item name="android:statusBarColor">@color/your_status_bar_color</item> <!-- 状态栏图标明暗适配,true为深色图标适配浅色状态栏 --> <item name="android:windowLightStatusBar">true</item> </style> </resources>
- 确认
res/drawable目录下存在主题中配置的splash_screen对应的资源文件,不存在需自行添加对应启动页资源。 - 若你使用的是0.60以下版本的React Native,确认已执行依赖关联命令:
react-native link react-native-splash-screen - 所有配置完成后清理安卓构建缓存,重新运行项目:
进入项目内android目录下执行命令./gradlew clean(Windows系统执行gradlew clean),回到根目录重新启动RN服务后运行安卓端即可。 - 若配置完成后仍报错,可调整
MainActivity.java中onCreate方法的代码顺序:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SplashScreen.show(this, R.style.SplashScreenTheme); }
内容的提问来源于stack exchange,提问作者spatak
相关产品推荐
相关产品推荐

