Как изменить цвет строки состояния на телефонах с фронтальной камерой или динамиком в области строки состояния (при использовании полноэкранной темы)? - PullRequest
0 голосов
/ 29 апреля 2020

я использую android:Theme.NoTitleBar.Fullscreen в моем styles.xml, и все работает нормально с большинством телефонов. но на некоторых телефонах с фронтальной камерой / динамиком под экраном (например, xiaomi redmi note 7) он не становится полноэкранным (статусная строка все еще есть, но без статуса и ее цвет темный). Когда я использую <item name="android:statusBarColor">@color/myColor</item>, пока родительская тема полноэкранная, она не работает и не может изменить цвет строки состояния, ни через java, ни через xml. (android:colorPrimaryDark не влияет на цвет строки состояния, когда действует полноэкранная тема)

Как сохранить полноэкранную тему для всех телефонов и в то же время изменить цвет строки состояния только для этих типов телефонов? я должен сравнить (высота окна приложения + высота панели навигации) <реальная высота экрана, а затем установить тему в зависимости от результата? </p>

(мое непосредственное решение было использовать полноэкранный режим для всех API ниже 26 и так как телефоны с этим подэкраном функция скрытой / скрытой камеры поставляется с android apis выше 26 и имеют большие экраны, я использовал тему notitlebar без полноэкранного режима, а затем изменил цвет строки состояния)

...