您的位置:首页 > 移动开发 > Android开发

消除Android应用中启动时的白屏问题

2017-03-16 10:47 155 查看
问题:Android应用启动时会有短暂的白屏。

原因:在Android中,启动应用时默认先显示了window窗口背景,黑屏白屏就是window窗口背景,然后才会加载布局文件也就是自己的Activity。

解决方法:这里只提供一个简单粗暴的解决方法,就是设置Activity theme:

第一步:找到项目中res/values/styles.xml文件,设置自己的style,在windowBackground中设置要显示的图片或颜色,我这里选择的是在drawable下的一个图片。

<style name="AppTheme2" parent="android:Theme.Light.NoTitleBar">  
   <item name="android:windowIsTranslucent">true</item>  
   <item name="android:windowNoTitle">true</item>  
   <item name="android:windowActionBar">false</item>  
   <item name="android:windowBackground">@drawable/welcome</item>   
</style> 

第二步:在清单文件中(AndroidManifest.xml)的启动Activity中设置theme:

<activity

            android:name=".activity.WelcomeActivity"

            android:label="@string/app_name"

            android:windowSoftInputMode="adjustPan" 

            android:theme="@style/AppTheme2">

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

最后一步:一定要注意在启动的Activity中添加这一行代码,目的是不显示系统的标题栏,保证windowBackground和界面activity_main的大小一样,显示在屏幕不会有错位:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: