панель инструментов не скрывается в активности android - PullRequest
2 голосов
/ 05 августа 2020

У меня есть действие, которое содержит просмотр видео с YouTube, и мы хотим, чтобы при повороте телефона панель инструментов скрывалась. на самом деле у нас есть блокировка вращения в нашем приложении, поэтому никакие действия не могут вращаться, кроме этого видео, содержащего активность. и я вращаю экран, используя onConfigurationChange.

Я внедрил настраиваемую панель инструментов в это действие, и при изменении конфигурации и изменении кода положения экрана он должен скрыться или отображаться, но он не работает.

Я использую этот код, чтобы скрыть панель инструментов

getSupportActionbar.hide()

ну, у меня есть некоторые сомнения насчет этого, почему он не работает:

1. сначала при изменении конфигурации действие создается с нуля, поэтому команда для скрытия панели инструментов перезаписывается и загружается

2. где-то я видел, что getSupportActionbar.hide() должно быть раньше, setContentView()

вот фрагмент кода onConfigurationChange

@Override
    public void onConfigurationChanged(Configuration newConfig) {
        try {
            super.onConfigurationChanged(newConfig);
            int accelometerState = android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0);
            if (accelometerState == 1) {
                if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
//                    toolbar.setVisibility(View.GONE);
//                    getSupportActionBar().hide();
                    isRotate = true;
                }
                if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
//                    toolbar.setVisibility(View.VISIBLE);
//                    getSupportActionBar().show();
                    isRotate = false;
                }
            } else {
                if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
                    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                }
            }
        } catch (Exception ex) {
            Log.e("home", "something went wrong in the VideoViewFullScreen.java");
        }
    }

Я пытаюсь понять, в чем проблема,

Если у кого-то есть решение или предложение, я ценю их. Заранее благодарю

1 Ответ

0 голосов
/ 05 августа 2020

Что ж, в этом случае вы можете определить отдельный макет для ландшафтного режима с помощью квалификаторов ориентации в файлах ресурсов макета. Узнать подробнее .

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