这个问题其实是安卓主题的问题,在ionic在通过CLI生成项目的时候,官方就没有很好考虑到这个问题,启动时的短暂黑屏这个用户体验很不好,下面我们来着手解决它。
步骤
- 首先在config.xml 中配置:
<preference name="SplashScreen" value="splash" />
其次在路径为
platforms/android/res/values/
(备注:红色的Android是小写的)下新建styles.xml,编辑如下:<resources> <style name="Theme.AppStartLoadTranslucent" parent="android:Theme"> <item name="android:windowBackground">@drawable/screen</item> <item name="android:windowNoTitle">true</item> </style> </resources>
在
platforms/android/AndroidManifest.xml
中的android:name为”MainActivity”的activity(备注: 一般都是第一个activity),修改它的theme值,如:android:theme="@style/Theme.AppStartLoadTranslucent"
通过上面的方法,我们再次run或build的时候, 应用启动,直接显示的是启动页splash,而不再是短暂的黑屏或白屏之再到启动页了。
上述配置存在的问题:设置
<item name="android:windowIsTranslucent">true</item>
为透明时候,当用户切换多个应用的间隙时会存在透明引起的不良体验。所以没用这个。备注:如上使用
windowIsTranslucent
方式还有一个缺点就是界面转换时会看到启动页半透明的状态,并不完美.