У меня есть счетчик под названием dd1, определенный в моем файле mainactivity.xml.
У меня есть onItemSelected< /code> метод, определенный во фрагменте.
Приложение работает в полноэкранном режиме, т. е. скрывает навигацию и строку состояния. Всё хорошо. Но как только я касаюсь счетчика, строка состояния появляется и никогда не возвращается назад.
Мне нужно убедиться, что строка состояния остается скрытой.
Попытка решить
Я прочитал этот ТАК-вопрос. Это уже относится к этой сути GIT.
В моем фрагменте, непосредственно перед переопределением onCreateView, я определяю:
Код: Выделить всё
fun Spinner.avoidDropdownFocus() {
try {
val listPopup = Spinner::class.java
.getDeclaredField("mPopup")
.apply { isAccessible = true }
.get(this)
if (listPopup is ListPopupWindow) {
val popup = ListPopupWindow::class.java
.getDeclaredField("mPopup")
.apply { isAccessible = true }
.get(listPopup)
if (popup is PopupWindow) {
popup.isFocusable = false
}
}
} catch (e: Exception) {
e.printStackTrace()
}
}
Код: Выделить всё
dd1.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView?, view: View?, position: Int, id: Long) {
// getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
dd1.avoidDropdownFocus()
... // do my thing
}
}
Вопрос
Как принудительно включить строку состояния оставаться скрытым во время работы приложения, несмотря на активацию счетчика(ов)?
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/790 ... status-bar
Мобильная версия