Как убрать панель кнопок внизу экрана

Я создаю собственное изображение. Я иду через источник 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/2013/07/disablehide-android-bottom-bar-without-rooting-samsung-galaxy-tablets/

Проверьте следующую ссылку. Это может помочь вам понять это.

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);}
}
Другие вопросы по тегам