Портрет для телефона, альбомная ориентация для планшета (Android-Layout)

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

Планшеты: альбомная Телефоны: вертикальная

Выражаясь более технически.

У меня есть макет в «res / layout-xlarge-land» для ландшафтного дизайна на планшете, у меня есть исходный макет в «res / layout», и я просто хочу явно использовать layout-xlarge-land для планшета. Ничего другого, по сути, ТОЛЬКО с использованием ландшафта для устройств xlarge.

Спасибо!

22
задан rwarner 5 October 2011 в 22:42
поделиться

1 ответ

для людей, которые использовали

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);
}
0
ответ дан 29 November 2019 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: