Как скрыть панели навигации и статуса до начала кастомного слоя splashScreen?

Ссылка скопирована
1 ответ

Если это возможно конечно, сейчас по завершению splashScreen скрывается, как мне добиться желаемого?

override fun onCreate(savedInstanceState: Bundle?) {         window.decorView.apply {             // Hide both the navigation bar and the status bar.             // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as             // a general rule, you should design your app to hide the status bar whenever you             // hide the navigation bar.             systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN         }         SplashScreen.show(this, R.id.lottie)         SplashScreen.setAnimationFinished(true)         super.onCreate(savedInstanceState)     }

override fun onCreate(savedInstanceState: Bundle?) { window.decorView.apply { // Hide both the navigation bar and the status bar. // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as // a general rule, you should design your app to hide the status bar whenever you // hide the navigation bar. systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN } SplashScreen.show(this, R.id.lottie) SplashScreen.setAnimationFinished(true) super.onCreate(savedInstanceState) }

Дополнительно:

historydev определись: это java или kotlin или js.

  • DevMan,

    Код стандартный из генерации проектаnpx react-native для андроид, язык kotlin, проблема решается на java я считаю, потом переводится в kotlin. - отсюда и теги такие

  • historydev, то есть это js/react
  • DevMan, https://developer.android.com/training/system-ui/n...
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Кирилл JS Ответ

    Для скрытия панелей навигации и статуса до отображения кастомного слоя splashScreen, вам необходимо использовать следующий подход в вашем коде:

    1. Создайте тему стиля (style) для вашего приложения в файле res/values/styles.xml:

    ```xml

    false
    true

    ```

    2. Примените эту тему к вашему приложению, добавив следующую строку в манифесте вашего приложения (AndroidManifest.xml) в блоке application:

    ```xml
    android:theme="@style/AppTheme"
    ```

    3. Создайте кастомный слой splashScreen, который будет отображаться при запуске приложения. Для этого создайте новую Activity, в которой будет размещен ваш кастомный макет (layout) для splashScreen.

    4. В методе onCreate() вашей новой Activity (SplashScreenActivity) скройте панели навигации и статуса:

    ```java
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Скрыть панель навигации и статуса
    View decorView = getWindow().getDecorView();
    int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
    decorView.setSystemUiVisibility(uiOptions);

    // Установить ваш кастомный макет для splashScreen
    setContentView(R.layout.activity_splash_screen);
    }
    ```

    5. Не забудьте добавить вашу новую Activity (SplashScreenActivity) в манифест вашего приложения:

    ```xml

    ```

    После выполнения этих шагов, панели навигации и статуса будут скрыты до отображения вашего кастомного слоя splashScreen. Вам останется только реализовать логику отображения следующего экрана после завершения splashScreen.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно