Итак, я делаю приложение для Android и хочу принудительно установить альбомную ориентацию для планшетов и портретную ориентацию для телефонов. Однако кажется, что я могу сделать только блокировку ориентации из того, что я видел, что противоречит цели двух отдельных ориентаций для устройств.
Планшеты: альбомная Телефоны: вертикальная
Выражаясь более технически.
У меня есть макет в «res / layout-xlarge-land» для ландшафтного дизайна на планшете, у меня есть исходный макет в «res / layout», и я просто хочу явно использовать layout-xlarge-land для планшета. Ничего другого, по сути, ТОЛЬКО с использованием ландшафта для устройств xlarge.
Спасибо!
для людей, которые использовали
android:screenOrientation="nosensor"
и не работали над ним собственный, я использовал его в дополнение к этому отрывку в моем основном действии
@Override
protected void onCreate(Bundle savedInstanceState) {
if (getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
&& (this.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) < Configuration.SCREENLAYOUT_SIZE_LARGE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}else if((this.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
super.onCreate(savedInstanceState);
}