NoneGet StableInsetTop() всегда возвращает 0?
Я хочу получить стабильные вкладки System UI. Чтобы получить Системный интерфейс (панель навигации и строка состояния) Высота и Ширина от него.
Проблема: я использовал getSystemWindowInsetTop()
метод класса windowInsets, но он становится равным нулю, когда экран переходит в режим погружения и скрывается системный интерфейс (панель навигации и строка состояния). Но я хочу стабильные вставки, и именно поэтому я пытаюсь использовать getStableInsetTop()
метод, и он всегда возвращает 0.
Код:
binding.lytParent.setOnApplyWindowInsetsListener((view, windowInsets) -> {
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT
, windowInsets.getStableInsetTop()
);
binding.vTopMargin.setLayoutParams(params);
});
Примечание: я добавил fitSystemWindows="true"
Свойство в моем родительском макете в XML. getSystemWindowInsetTop()
работает нормально и возвращает значение Inset, но проблема в том, что его значение изменяется с помощью видимости системного интерфейса (панель навигации и строка состояния).