刚从csdn转战51,这是在51写的第一篇博客
那么我们来谈谈这样一个问题。当你的项目需要用的欢迎界面有时候会出现短暂的黑屏或白屏,这样用户体验就不好了,所以今天教教大家如何处理这种问题。
其实,黑屏或者白屏是因为程序还没有加载布局就已经显示window窗口背景,而黑屏或者白屏就是window窗口背景。那么如何处理呢?看下面...
public class LoadingActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*还没有加载布局是睡眠1秒,确保黑屏或白屏效果明显*/ try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } setContentView(R.layout.activity_loading); /*欢迎页面停留2秒并跳转MainActivity*/ new Thread(){ @Override public void run(){ try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } startActivity(new Intent(LoadingActivity.this,MainActivity.class)); finish(); } }.start(); } }
以上的代码都是在LoadingActivity里写的下面才是重点
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lg.emptydemo"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".LoadingActivity" android:theme="@style/FullTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity" android:theme="@style/AppTheme"> </activity> </application> </manifest>
在AndroidManifest.xml中设置LoadingActivity的风格
<style name="FullTheme" parent="AppTheme"> <item name="windowActionBar">false</item> <item name="android:windowBackground">@drawable/img_frame_background</item> <item name="windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style>
android:windowBackground属性设置窗口背景,把它设置成和欢迎界面一样的就大功告成了
源码地址:http://down.51cto.com/data/2221953
时间: 2024-12-17 18:58:20