Я просто хочу установить некоторые флаги, когда моя ориентация в альбомной ориентации, чтобы при воссоздании активности в onCreate () я мог переключаться между тем, что загружать в портретной или альбомной ориентации. У меня уже есть XML-файл layout-land, который обрабатывает мой макет.
public void onConfigurationChanged(Configuration _newConfig) {
if (_newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
this.loadURLData = false;
}
if (_newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
this.loadURLData = true;
}
super.onConfigurationChanged(_newConfig);
}
Переопределение onConfigurationChanged предотвратит загрузку моего layout-land xml в альбомной ориентации.
Я просто хочу получить текущую ориентацию моего устройства в onCreate (). Как я могу получить это?
java
android
configuration
orientation
Шихан Алам
источник
источник
Когда суперкласс
this
ISContext
источник
В некоторых устройствах
void onConfigurationChanged()
может произойти сбой. Пользователь будет использовать этот код для получения текущей ориентации экрана.И использовать
источник
это даст всю ориентацию как нормальную и обратную
и обращаться с этим как
источник
final int angle = (rotation == Surface.ROTATION_90) ? 90 : (rotation == Surface.ROTATION_180) ? 180 : (rotation == Surface.ROTATION_270) ? 270 : 0;
эта команда возвращает значение int 1 для Portrait и 2 для Landscape
источник
В случае , если кто хотел бы получить значимое описание ориентации (например , что передается
onConfigurationChanged(..)
с темиreverseLandscape
,sensorLandscape
и так далее), просто использоватьgetRequestedOrientation()
источник
В вашем классе деятельности используйте метод ниже:
Затем, чтобы объявить, что ваша деятельность обрабатывает изменение конфигурации, отредактируйте соответствующий элемент в файле манифеста, чтобы включить
android:configChanges
атрибут со значением, представляющим конфигурацию, которую вы хотите обработать. Возможные значения перечислены в документации дляandroid:configChanges
атрибута (наиболее часто используемые значения - «ориентация» для предотвращения перезапусков при изменении ориентации экрана и «клавиатура скрытая» для предотвращения перезапусков при изменении доступности клавиатуры). Вы можете объявить несколько значений конфигурации в атрибуте, разделяя их с помощью конвейера | персонаж.Вот и все!!
источник
если вы хотите переопределить этот метод onConfigurationChanged и все еще хотите, чтобы он выполнял базовые функции, рассмотрите возможность использования super.onConfigyrationChanged () в качестве первого оператора в переопределенном методе.
источник
Я просто хочу предложить другую альтернативу, которая затронет некоторых из вас:
подразумевает, что мы явно объявляем макет для внедрения.
В случае, если мы хотим сохранить автоматический впрыск благодаря папкам layout-land и layout. Все, что вам нужно сделать, это добавить его в onCreate:
Здесь мы отображаем или нет панель действий в зависимости от ориентации телефона
источник