Страницы

Поиск по вопросам

суббота, 30 ноября 2019 г.

Запретить поворот Activity и всего приложения

#java #android #activity #view


Добрый день.
Как правильно решить такую ситуацию?
Есть андроид-приложение, которое зависит от одного параметра - диагональ дисплея.
Эту величину, или приблизительную к ней, я нахожу - проблем нету. 
В зависимости от дисплея >5 дюймов - только landscape, <5 - только портрет.
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        if (ScreenSize<5) {
            setContentView(R.layout.startactivity_p); //отобразить хмл портретный
        }
        else{
            setContentView(R.layout.startactivity_l); // отобразить хмл ландскейп
        }

    }

В каждом xml-layout'е прописал следующее:
android:screenOrientation="landscape"
android:orientation="vertical"

и
android:screenOrientation="portrait"
android:orientation="horizontal"

соответственно.
Но приложение все равно поворачивается. Подскажите, как можно это исправить?    


Ответы

Ответ 1



Для каждого вашего случая setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); и setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); Не поворачивается. Вообще вот хорошая статья.

Ответ 2



Всё же лучше в Манифесте это сделать. android:screenOrientation="portrait" или android:screenOrientation="landscape" Всё вместе:

Комментариев нет:

Отправить комментарий