Как убрать панель кнопок внизу экрана
Я создаю собственное изображение. Я иду через источник Android, я хочу избавиться от нижней панели кнопок функциональных клавиш в Android, Может кто-нибудь, пожалуйста, направьте меня к исходному файлу, чтобы изменить?
13 ответов
Чтобы включить / отключить их, насколько я знаю, вам просто нужно отредактировать build.prop:
qemu.hw.mainkeys=0 (show on screen buttons)
или же
qemu.hw.mainkeys=1 (disable on screen buttons)
Если строка не существует в вашем build.prop, добавьте ее внизу.
Самый простой способ сделать снимок экрана без нижней панели навигации - использовать эмулятор (AVD) и отредактировать его файл конфигурации.
Зайдите в.android/avd/virtual-device.avd
Затем отредактируйте файл config.ini:
hw.mainKeys=yes
hw.keyboard=yes
Оба должны быть установлены на "да"
Чтобы снова увидеть панель, установите для нее "Нет".
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
используйте этот код в onCreate. Но для этого требуется срок более 19 лет.
Вы не можете скрыть это навсегда, однако:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
этот код скрывает программные клавиши, пока пользователь не будет взаимодействовать с вашим приложением. Это сделано специально таким образом, просто представьте, что вы не предоставляете средства для выхода из текущего экрана и скрытия этих клавиш, пользователь будет "пойман в ловушку" в одностороннем тупике.
Вы можете найти больше здесь.
В дополнение к ответу Aykut Burak SAFAK выше, вы можете поместить его код в onWindowFocusChanged
событие, чтобы убедиться, что всякий раз, когда Activity
получает фокус (например, после разблокировки), он сохраняет полноэкранный режим без состояния программных клавиш.
@Override
public void onWindowFocusChanged(boolean hasFocus){
super.onWindowFocusChanged(hasFocus);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
С введением нового SureLock для Samsung, Bottom Bar можно отключить или скрыть без рутирования устройства. Все, что вам нужно сделать, это установить SureLock Lockdown для Samsung и следовать процедурам, указанным на следующем сайте,
Проверьте следующую ссылку. Это может помочь вам понять это.
http://www.42gears.com/blog/2012/02/disable-bottom-bar-in-android-honeycomb-tablets-with-surelock/
для эмулятора Android Studio API 32 вы можете изменить «Навигация по жестам» на «Навигация по 3 кнопкам» или «Навигация по 2 кнопкам», потому что иногда возникают проблемы с прокруткой drawerLayout
Если вы хотите, чтобы панель навигации (панель кнопок) не отвлекала, попробуйте youractivity.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE)
Просто измените hw.mainKeys на yes в файле config.ini.
1- Откройте файл config.ini (чтобы найти файл в вашей системе, выполните следующие действия).
2- Не забудьте перезапустить эмулятор.
For lvl 30
window.decorView.windowInsetsController?.hide(android.view.WindowInsets.Type.statusBars())
Below 30
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN
Я думаю это возможно
Чтобы скрыть функциональную клавишу Попробуйте getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
но это не работает на планшете 4+.
Есть ли способ растянуть элементы управления до нижней части экрана, если я скрываю панель навигации? У меня есть ImageView с высотой, равной match_parent, но отсутствующая панель навигации оставляет черный прямоугольник.
Да, вы можете использовать это в своей деятельности:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);}
}