Я столкнулся с проблемой, которую мне нужно решить, сделав свое мнение разумным о том, какой тип представления используется в настоящее время.
У меня есть два макета, один для Портрета, а другой для пейзажа (земля).
- MyFragmentLayout.xml
- MyFragmentLayout.xml (земля)
В настоящее время я настраиваю свой дочерний вид фрагмента с помощью некоторого отступа, и я хочу, чтобы вид знал, какой тип макета используется в настоящее время (Портрет / Пейзаж).
Это мой код, который я использовал:
val verticalPadding = if (context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE)
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50f, displayMetrics)
else
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 150f, displayMetrics)
Над работой идеально подходит для смены ориентации.
Проблема:
Я поддерживаю многооконный режим для своего приложения. И проблема, с которой я сталкиваюсь, заключается в том, что Окно находится в портретном режиме (т.е. ориентация - Портрет)
Но приложение из-за доступного региона переключает макет из портретного режима в ландшафтный режим.
Как вы можете видеть, верхнее окно с красной полосой находится в портретном режиме, но приложение использует альбомную компоновку (что идеально подходит для моего случая)
Я хочу знать, как узнать, какой тип макета в настоящее время используется моим приложением, независимо от текущей ориентации мобильного телефона.