打开app的时候总会有一段时间白屏,为了美观加入了冷启动操作,就是用一张图片代替启动的白屏。
1.在style里面定义一个theme
<style name="AppTheme" parent="android:Theme.DeviceDefault.Light.NoActionBar"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="android:windowNoTitle" >true</item> <item name="android:windowBackground">@drawable/app_bg</item> <item name="android:windowFullscreen">false</item> </style>
2.在drawable中放置图片
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <bitmap android:src="@drawable/logo_bg" android:gravity="fill" /> </item> </layer-list>
3.在xml文件中使用定义的theme
<application android:name="com.ibptadb.application.IBptAdbApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:requestLegacyExternalStorage="true" android:theme="@style/AppTheme">
4.在activity中设置沉浸式状态栏
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // 透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); Window window = getWindow(); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.setStatusBarColor(getResources().getColor(R.color.color_bar));//在color中定义的主题色 } getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);