Черный экран после заставки - PullRequest
0 голосов
/ 27 марта 2019

Когда я открываю приложение, отображается всплеск, затем черный экран (всего на 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>

1 Ответ

0 голосов
/ 27 марта 2019

Через некоторое время я нашел решение:

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>
...