Как определить, что Edge-to-Edge включен?
Как определить в моем фрагменте, что в активности включена сквозная функция с функцией
Есть идеи?
Можно ли получить значениеWindowCompat.setDecorFitsSystemWindows(window, false)
?
1 ответ
Не существует общедоступного API для запроса этого состояния. Возможно, вам придется управлять этим состоянием в своем приложении, возможно, установив флаг при включении сквозного соединения, а затем вместо этого проверив этот флаг в своем фрагменте?
В качестве альтернативы вы можете попытаться вычесть это из флагов видимости системного пользовательского интерфейса:
val isEdgeToEdgeEnabled = activity?.window?.decorView?.systemUiVisibility?.and(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) != 0
Но это потребует использования отражения, что может быть рискованно, поскольку оно может не работать на разных версиях Android или устройствах и может привести к сбоям в будущих обновлениях Android, поэтому я не рекомендую идти таким путем, если достаточно использования собственного флага.