Определить область содержимого без панели навигации и строки состояния

Приложение для Android использует полноэкранный режим отображения контента за панелью навигации, строкой состояния и панелью инструментов. Я бы хотел, чтобы часть содержимого не находилась за этими решетками. Как определить площадь без этих полос? Насколько я понимаю, расположение некоторых полос зависит от устройства.


person Hong    schedule 01.08.2017    source источник


Ответы (1)


Вот здесь и пригодится android:fitsSystemWindows="true". Применение этого к вашему представлению сделает его необходимым дополнением, чтобы оно не располагалось ниже системных представлений.

Подробнее см. этот ответ.

person azizbekian    schedule 01.08.2017
comment
Спасибо. Похоже то что мне нужно. Однако что-то странное. У меня есть RelativeLayout с android.support.v7.widget.Toolbar внутри сверху. Он также использует android:fitsSystemWindows=true. После добавления android:fitsSystemWindows=true в RelativeLayout под ним панель инструментов появляется за строкой состояния. Панель инструментов выглядит идеально, если android:fitsSystemWindows=true не используется для RelativeLayout под ней. У вас есть идеи, почему так? - person Hong; 01.08.2017
comment
В этой статье: Standard layouts like FrameLayout , LinearLayout or RelativeLayout will not pass window insets to their children, whereas “materialish” layouts will do. Решение предоставлено там. - person azizbekian; 01.08.2017