App的启动页非常的常见,几乎现在所有的APP都会有吧~实现的方式也各种各样,那在这里我就记录一下我的实现方案,方便下次使用。
通常呢我们可能会建一个启动页的Activity,然后在最外层布局中设置背景,但是这样有一个很明显的缺陷,当我们在Application中初始化的东西比较多时,启动APP的瞬间会有短暂的白屏或黑屏,这就显得很尴尬了...
我的方案是这样的,新建一个启动页的Activity,但是不设置背景图片,而是为这个Activity设置一个theme:
android:name=".controller.activity.main.welcome.WelcomeActivity"
android:screenOrientation="portrait"
android:theme="@style/App">
@color/colorPrimary
@color/colorPrimaryDark
@color/colorAccent
false
true
@drawable/start3
style中最重要的是android:windowBackground 这个属性,他是给此Activity的window窗口设置一个背景。
接下来我们在Activity中设置延时三秒跳转。
Thread {
Thread.sleep(3000)
runOnUiThread {
startActivity(MainActivity::class.java)
}
}
将启动页的Activity设为入口Activity。ok收工。
笔者能力有限,不足之处欢迎指出。