Страницы

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

вторник, 7 мая 2019 г.

Как разделять логику вертикального и горизонтального положения экрана

У меня есть активность (или фрагмент) с RecyclerView, в котором находиться 3 пункта выбора, по открытию которого, открывается окно с соответствующей надписью. Если телефон\планшет находиться в вертикальном положении, тогда я хочу отображать надпись в новом окне, а если в горизонтальном — слева Recycler, а справа надпись. На фото привел пример (прошу прощения за мой paint :D). Как правильно разделить логику (как-то волшебно управлять активностями или фрагментами, может еще что-то) поведения на вертикальное и горизонтальное положение?


Ответ

Если вас интересует разделение по ориентации используйте суффиксы для ваших ресурсов: -land -port естественно если вы изначально, разрабатывали ваше app под device с портретной ориентацией, то вам достаточно будет сделать папку к примеру layout-land и при альбомной ориентации она будет работать, в противном случае значения будут браться по default из изначальной папки, даже если нет суффикса -port
При создании новой директории ресурсов в AS, очень хорошо показывает это квалификаторами UI-mode (могу ошибаться).
Если вы хотите ещё разделить на планшеты и телефоны, тогда с API 14 существует суффикс sw600 - для 7-и дюймовых планшетов, и sw800 для 10-и дюймовых планшетов. Всё работает абсолютно аналогично, тому что написано выше.
Ещё один момент, суффиксы могут записываться последовательно, и работают с определенными приоритетами, которые очень хорошо описаны в официальных guidline google. Вот нашел перевод для вас Обзор ресурсов

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

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