Android 优雅的启动页方案

2017-08-10  本文已影响0人  麦兜叮叮当

App的启动页非常的常见,几乎现在所有的APP都会有吧~实现的方式也各种各样,那在这里我就记录一下我的实现方案,方便下次使用。

通常呢我们可能会建一个启动页的Activity,然后在最外层布局中设置背景,但是这样有一个很明显的缺陷,当我们在Application中初始化的东西比较多时,启动APP的瞬间会有短暂的白屏或黑屏,这就显得很尴尬了...

我的方案是这样的,新建一个启动页的Activity,但是不设置背景图片,而是为这个Activity设置一个theme:

 <activity
            android:name=".controller.activity.main.welcome.WelcomeActivity"
            android:screenOrientation="portrait"
            android:theme="@style/App">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
 <style name="App" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowBackground">@drawable/start3</item>
    </style>

style中最重要的是android:windowBackground 这个属性,他是给此Activity的window窗口设置一个背景。

接下来我们在Activity中设置延时三秒跳转。

Thread {
            Thread.sleep(3000)
            runOnUiThread {
                startActivity(MainActivity::class.java)
            }
        }

将启动页的Activity设为入口Activity。ok收工。

笔者能力有限,不足之处欢迎指出。

上一篇 下一篇

猜你喜欢

热点阅读