Я работаю над кросс-платформенным приложением, которое было перенесено на Android. Из-за своего наследия, отличного от Android, он не использует широкоформатные элементы Android UI - главное окно приложения - одно целое View
.Получить положение и видимость полупрозрачной панели навигации Android
Я хотел бы реализовать полупрозрачную систему (состояние и навигацию), которые поддерживаются KitKat и далее, гарантируя, что элементы пользовательского интерфейса внутри основного View
не будут перекрыты ими.
This answer показывает, как получить высоту по умолчанию для этих баров (есть также navigation_bar_height_landscape
по высоте бара навигации в ландшафтном режиме, и navigation_bar_width
для ширины вертикальной панели навигации). Но это только размеры по умолчанию для системы и не содержат информации, если в данный момент отображается панель навигации, и отображается ли она справа или внизу экрана.
Другие ответы, которые я нашел до сих пор, вероятно, отлично подходят для непрозрачных системных баров: они просто сравнивают общий размер экрана с размером основного вида приложения, а разница - это пространство, занимаемое системными барами. Однако с полупрозрачными системными полосами разность размеров равна нулю, и этот подход не будет работать.
Как я могу надежно определить, отображается ли панель навигации и в каком положении?