Я просто хочу установить несколько флагов, когда моя ориентация в ландшафте, так что когда активность воссоздается в onCreate(), я могу переключаться между тем, что нужно загружать в портрете или пейзаже. У меня уже есть xml, который обрабатывает мой макет.Как я могу получить текущую ориентацию экрана?
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 будет препятствовать мой макету земли XML от загрузки в альбомной ориентации.
Я просто хочу получить текущую ориентацию своего устройства в onCreate(). Как я могу это получить?
Это дает только два значения ORIENTATION_PORTRAIT и ORIENTATION_LANDSCAPE. Есть ли способ получить все четыре значения из ActivityInfo? (Это также LANDSCAPE_REVERSE и PORTRAIT_REVERSE) – HRJ
@HRJ вы можете использовать getWindowManager(). GetDefaultDisplay().getRotation() – MKJParekh
getWindowManager(). getDefaultDisplay(). getRotation() возвращает поворот со ссылкой на «естественную» ориентацию дисплея, то есть для планшета он возвратит Surface.ROTATION_0 в альбомном режиме, тогда как для мобильного телефона он вернется такое же значение для портрета. –