Spinner в полноэкранном приложении для Android показывает строку состоянияAndroid

Форум для тех, кто программирует под Android
Anonymous
Spinner в полноэкранном приложении для Android показывает строку состояния

Сообщение Anonymous »

У меня есть приложение для Android.
У меня есть счетчик под названием 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()
}
}
Затем в onItemSelected у меня есть:

Код: Выделить всё

 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
}
}
Это не работает. Я использую Android 10, но на пульте дистанционного управления DJI.
Вопрос
Как принудительно включить строку состояния оставаться скрытым во время работы приложения, несмотря на активацию счетчика(ов)?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/790 ... status-bar

Вернуться в «Android»