Android

Android实现启动页面(闪屏页面)

2019-04-14  本文已影响170人  12313凯皇

不难发现,我们手机上的很多app都有启动页面,例如打开简书App在显示主页文章前会有一个启动页面,如下所示:

简书启动页面
随后是一个广告页面,最后才进入到主页去。

那么我们自己怎么实现这个效果呢?下面开始讲解:

步骤一:

新建SplashActivity闪屏页,布局根据自己需要去设计,这里为了方便仅放了一个TextView意思意思,就不展示出来了。

public class SplashActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        //延迟两秒进入主页
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                startActivity(new Intent(SplashActivity.this, MainActivity.class));
                finish();
            }
        }, 2000);
    }


    //禁用返回键
    @Override
    public void onBackPressed() {

    }
}

内容很简单,就是延迟2秒后启动MainActivity,然后把自己finish掉。

步骤二

创建全屏样式,在res/values/styles/xml文件中创建一个全屏样式

<!--全屏主题-->
<style name="NoActionBarFullscreen" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>
步骤三

AndroidManifest.xml注册SplashActivity并对调其与MainActivity的位置。即SplashActivity设置为启动页,同时给SplashActivity设置上步骤二中创建的全屏主题

<activity
    android:theme="@style/NoActionBarFullscreen"
    android:name=".SplashActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity android:name=".MainActivity" />

搞定,效果图如下:


效果图
源码地址:SplashDemo
上一篇下一篇

猜你喜欢

热点阅读