Вы можете видеть в этом SO answer решение о том, как сохранить полноэкранный режим, даже если телефон находится в портретном режиме.
При изменении ориентации вызывается метод onCreate. Вы можете попробовать , добавив эту строку в интересующем вас мероприятии в файл манифеста , чтобы предотвратить вызов onCreate.
android:configChanges="orientation|keyboardHidden|screenSize|layoutDirection"
и он может поддерживать полноэкранный статус youtube для вас.
Вы также можете попробовать переопределить метод onConfigurationChanged
:
@Override //reconfigure display properties on screen rotation
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT)
{
// handle change here
}
else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
// or here
}
}
Вы также можете прочитать эту documentation:
Отметить setFullscreenControlFlags(int)
включить автоматическое управление ориентацией.
Поведение заключается в принудительной ориентации ландшафта при входе в полноэкранный режим и возврате к исходной настройке ориентации при выходе из полноэкранного режима. Реализация также автоматически выйдет из полноэкранного режима, когда устройство будет повернуто назад к портретной ориентации. Это правило должно быть установлено, если приложение не заблокировано в альбомной ориентации или вам нужен полноэкранный режим в портретной ориентации..
Надеюсь, это поможет!
Благодарим за помощь. Я попытался переопределить onConfigurationChanged, но он не работал сам по себе. Поскольку флаг FULLSCREEN_FLAG_CONTROL_ORIENTATION установлен по умолчанию. Поэтому вам нужно удалить этот бит, просто установив: setFullscreenControlFlags (FULLSCREEN_FLAG_CONTROL_SYSTEM_UI); И если видео загружено на youtube в портретном режиме, оно будет отображаться в портретном режиме при входе в полноэкранный режим. –
@ donny.rewq ... спас мой день. Я копал все утро, но ваш ответ ударил. Благодаря :) –