У меня есть приложение, которое хорошо выглядит в любой ориентации на большом или увеличенном размере экрана, но должно быть ограничено портретом на телефонах. Я знаю, что вы можете ограничить ориентацию Деятельности в манифесте, но есть ли способ сделать это условно? Или есть какая-то собственность, которую я могу установить в самой деятельности, чтобы выбрать, какие ориентации поддерживаются?Android: Ограничить ориентацию активности на основе размера экрана
2
A
ответ
9
Это решение я использую в своих приложениях:
public void onCreate(Bundle savedState) {
//...
if(isScreenLarge()) {
// width > height, better to use Landscape
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
public boolean isScreenLarge() {
final int screenSize = getResources().getConfiguration().screenLayout
& Configuration.SCREENLAYOUT_SIZE_MASK;
return screenSize == Configuration.SCREENLAYOUT_SIZE_LARGE
|| screenSize == Configuration.SCREENLAYOUT_SIZE_XLARGE;
}
Смежные вопросы
- 1. Как ограничить ориентацию экрана планшета
- 2. Текст на основе размера экрана
- 3. Android: различное изображение на основе размера экрана
- 4. Android: изменение ориентации на основе размера экрана
- 5. Как настроить ориентацию активности в Android на основе устройства?
- 6. Отключить ориентацию экрана динамически в Android (Java)
- 7. Android: переход от вкладок к разветвителю на основе размера экрана
- 8. Переключить ориентацию экрана в Android
- 9. Установите ориентацию экрана в android
- 10. Изменить ориентацию экрана - Android 3.2 на VirtualBox
- 11. Android WindowManager меняет ориентацию экрана
- 12. Заблокировать ориентацию экрана в классе View - Android
- 13. Получить ориентацию экрана телефона Android
- 14. изменить ориентацию ориентации экрана android
- 15. Перевести Анимация на основе размера экрана
- 16. Android: запись активности экрана
- 17. Поддержка нескольких экранов на основе размера экрана
- 18. Получить ориентацию телефона, но установить ориентацию экрана на портрет
- 19. Как заставить Android выбирать разные макеты на основе размера экрана
- 20. Android: Лучший способ применения кода на основе размера экрана
- 21. Android Layout - Как создать динамический планшет на основе размера экрана?
- 22. Изменение размера телефона на основе размера экрана устройства
- 23. Воспроизведение звука на основе размера экрана
- 24. Изменение функций на основе размера экрана
- 25. CSS: Совместите элемент на основе размера экрана
- 26. Заменить страницу на основе размера экрана
- 27. Как изменить таблицу на основе размера экрана?
- 28. Изменить изображение на основе размера экрана
- 29. Скрытие вида на основе размера экрана.
- 30. Переключение классов CSS на основе размера экрана
Большое спасибо. Единственное изменение, которое я сделал, это использовать 'SCREEN_ORIENTATION_UNSPECIFIED' вместо' SCREEN_ORIENTATION_PORTRAIT', потому что я хотел, чтобы планшет поддерживал как пейзаж, так и портрет. – mtmurdock
Есть ли способ сделать это в макете или манифесте? – mtmurdock
Будьте осторожны, что 'onCreate()' будет вызываться дважды в случае вращения активности после 'setRequestedOrientation()' –