Смотрите (извините, SOF не позволяет мне загружать изображения)
Это то, чего я пытаюсь достичь. У меня есть вид карты, и я хочу, чтобы строка состояния была прозрачной, чтобы карты выглядели так, как будто они находятся под текстом строки состояния (как в приложении Uber). Я использую
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
/*,WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS*/);
этот тег для этого.
Но проблема в том, что у меня также есть 4 кнопки (например, нижняя панель навигации) внизу. Когда я использую этот тег, эти кнопки попадают за панель навигации (программные клавиши).
Я думаю, что если я буду использовать 2 разных макета, это будет работать, как один макет для телефонов с NavBar, и один для телефонов с аппаратными клавишами. Но я просто не знаю как. Я пытался использовать эту функцию, но она либо не работает, либо я неправильно ее использую, пожалуйста, помогите.
public boolean hasNavBar (Resources resources) {
int id = resources.getIdentifier("config_showNavigationBar", "bool", "android");
return f= id > 0 && resources.getBoolean(id);
}
И затем, используя if (f == true), иначе изменить макет и java-файлы, но это всегда дает false.