Android 闪屏页的实现

您所在的位置:网站首页 安卓界面代码 Android 闪屏页的实现

Android 闪屏页的实现

#Android 闪屏页的实现| 来源: 网络整理| 查看: 265

文章目录 前言一、闪屏页的实现方式的思考二、闪屏实现1.设置闪屏Activity为app首页2.闪屏Activity的theme3.闪屏Activity的内部实现 总结

前言

闪屏页作为app启动的过渡页面,可以更快的呈现页面给用户,解决app首次启动时加载慢,而出现的黑屏等问题。但随着app运营的需要,闪屏页被更多的赋予了广告的功能。本文主要记录在一次app开发过程中闪屏页的实现方式。 在开发前,想到了几种方式,考虑后期扩展性、容维护,最后选择了闪屏页使用单独Activity,且作为APP 的首页来实现的。

一、闪屏页的实现方式的思考

第一种方式:使用dialog 实现闪屏页,进入到app首页Activity 的oncreate 中弹出一个全屏的dialog。 第二种方式:在app首页Activity 新加一个match_parent 的 view,来实现闪屏页,启动闪屏显示此 view,闪屏结束隐藏。 第三种方式:使用一个新的闪屏 Activity,在app首页Activity 的oncreate中start 闪屏的Activity、 第四种方式:使用一个新的闪屏 Activity,作为 app 的首页Activity,闪屏结束跳转到功能页面。

考虑后期维护,可移植等问题,最后选择了第四种方式实现

二、闪屏实现 1.设置闪屏Activity为app首页

AndroidManifest.xml 中设置闪屏Activity(SplashActivity)为app首页:

注意其中的各项设置: android:excludeFromRecents=“true” : Activity 不出现在 “Recent screens” 中,同时会影响后续同一Task的其他activity,所有后续activity需要使用 new task。 android:noHistory=“true” :Activity 不保留在栈中,这样后续 back 按键也不会返回到这个Activity,避免了 back 键闪屏页再次出现的问题。 同时需要注意这里的 android:theme,对应的theme 最好跟闪屏过后跳转的 Activity 使用同样主题和背景,这样跳转的时候页面切换看起来更流畅

2.闪屏Activity的theme

styles.xml代码如下(示例):

@drawable/splash_background 3.闪屏Activity的内部实现

SplashActivity.java代码如下(示例):

public class SplashActivity extends Activity { private Handler mHandler = new Handler(); private Runnable mRunnable = new Runnable() { @Override public void run() { Intent intent = new Intent(SplashActivity.this, MainActivity.class); startActivity(intent); SplashActivity.this.finish(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); mHandler.postDelayed(mRunnable, 2000); } @Override protected void onPause() { super.onPause(); mHandler.removeCallbacks(mRunnable); } }

闪屏页设置的 2s 后自动消失的,消失后跳转到 MainActivity 。 这里需要注意的是,如果用户在闪屏页没有结束的时候,按 home 退出,这个 Handler 并没有停止,还是会在2s 后跳转到 MainActivity。 所以我们需要在 Activity 的 onPause 方法中需要 removeCallbacks 对应的 Runnable。

总结

至此这个闪屏页的实现就完成了,后面也方便扩展可移植。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3