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, но проблема в том, что его значение изменяется с помощью видимости системного интерфейса (панель навигации и строка состояния).

0 ответов

Другие вопросы по тегам