Android spla sh экран серый переход к активности - PullRequest
0 голосов
/ 09 апреля 2020

В настоящее время я работаю над приложением Android, и я добавил экран spla sh, показывающий lo go в начале.

Для того, чтобы экран spla sh оставался на правильное время, я использовал метод наложения темы на экранную активность spla sh, а затем в соответствующем Java класс, я запускаю основное действие (которое имеет белый фон, такой же, как экран spla sh) Экран spla sh отображается правильно и остается на нужное количество времени, однако при переходе к основному действию приложение отображает серый экран в течение примерно 1 секунды, прежде чем отобразить полностью загруженное основное действие. Вы знаете, в чем может быть проблема?

Вот код в стиле. xml файл, который я использую:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/Trippy_primary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/Trippy_orange</item>
        <item name="android:textColorPrimary">@color/TrippyGray</item>
        <item name="android:colorBackground">@color/white</item>
        <item name="android:windowAnimationStyle">@null</item>
    </style>

    <style name="SplashTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/Trippy_primary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/Trippy_orange</item>
        <item name="android:textColorPrimary">@color/TrippyGray</item>
        <item name="android:windowBackground">@drawable/splash_screen</item>
        <item name="android:windowAnimationStyle">@null</item>
    </style>
</resources>

, а это соответствующий тег активности в файле манифеста:

<activity android:name=".SplashScreen" android:theme="@style/SplashTheme">
     <intent-filter>
          <action android:name="android.intent.action.MAIN" />
          <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>
</activity>

и это код связанной деятельности:

public class SplashScreen extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.AppTheme);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash_screen);

        startActivity(new Intent(this, TrippyList.class).putExtra("comingActivity", false));

        finish();

    }

}

Спасибо за вашу помощь :)

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

На самом деле я нашел проблему. Я также реализовал темный режим в приложении, и код, который обрабатывает определение правильного режима, когда приложение запускалось, все еще был в основной деятельности. Фон, видимый в транзакции между экраном spla sh и основным действием, был темнее, вероятно, потому что моя система android в настоящее время находится в темном режиме.

Добавление настройки темного / светлого режима на экране spla sh решило проблему.

0 голосов
/ 09 апреля 2020

Попробуйте это у меня сработало.

 @Override
 protected void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.AppTheme);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash_screen);
        CountDownTimer countDownTimer;
        countDownTimer= new CountDownTimer(2500, 500) {

            public void onTick(long millisUntilFinished) {

            }
            public void onFinish() {

                startActivity(new Intent(SplashScreen.this, TrippyList.class));
                overridePendingTransition(0,0);
                finish();

            }
        }.start();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...