app闪屏页如何实现?告别白屏!看这一篇就够了!
2020-10-13 本文已影响0人
千夜零一
引言
我们常做的app应用在初始启动前,会有短暂的白屏效果,之后登陆界面会很突兀地跳出来布局,最好的做法是实现闪屏页,由闪屏页跳转到MainActivity去,再跳转完成后finish掉闪屏页,这样就很优雅地完成了app启动——>启动完成的效果。
本期,我们就来模仿微信来实现微信的闪屏页效果。
效果预览
![](https://img.haomeiwen.com/i20285170/a959606b76590fc6.gif)
实现步骤
第一步:创建SplashActivity(不用创建layout布局文件)
public class SplashActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new Handler().postDelayed (new Runnable () { //匿名内部类 创建线程
@Override
public void run() {
startActivity (new Intent(SplashActivity.this, MainActivity.class)); //界面转跳
finish();
}
},500); //第二个参数是停留的时间
}
}
第二步:在styles.xml中定义样式
windowBackground为闪屏页的图片,省去了activity的Layout布局文件。
<!--闪屏页-->
<style name="entrance_LauncherTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/splash_wechat</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
第三步:配置文件中加载样式和启动项
<!--闪屏页-->
<activity android:name=".splash.SplashActivity"
android:theme="@style/entrance_LauncherTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
大功告成!
Tips,图片也贴出来吧!
![](https://img.haomeiwen.com/i20285170/14b634a50bd8f401.jpeg)