当我打开应用程序时,将显示启动画面,然后出现黑屏(仅持续1秒钟),然后转到活动。如何避免出现黑屏?
我将启动设置为主题。
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (sharedPrefs.isUserLogged) {
startActivity(intentFor<MainActivity>().clearTask().newTask())
}else{
startActivity(intentFor<LoginActivity>().clearTask().newTask())
}
finish()
}
}
我在AndroidManifest.xml上设置了初始样式
<activity android:name=".view.splash.SplashActivity"
android:theme="@style/AppTheme.Launch">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
按照我的风格,我为背景设置了一个可绘制对象。
<style name="AppTheme.Launch">
<item name="android:windowBackground">@drawable/my_splash</item>
</style>
答案 0 :(得分:0)
一段时间后我找到了解决方案:
class SplashActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Timer().schedule(1000) {
if (sharedPrefs.isUserLogged) {
startActivity(intentFor<MainActivity>().clearTask().newTask())
}else{
startActivity(intentFor<LoginActivity>().clearTask().newTask())
}
}
}
}
我将主题设置如下:
<style name="AppTheme.Launch">
<item name="android:windowBackground">@drawable/my_splash</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>