Intereting Posts
Android: имитирует длительное время работы Запись видео с размером 480 * 480 пикселей в android? Как зарегистрировать некоторое пространство имен URL (myapp: //app.start/) для доступа к вашей программе, вызывая URL-адрес в браузере в ОС Android? Android NDK: как получить динамическую архитектуру компилятора в Android.mk Как получить мой Android-устройство Внутренний путь к папке Загрузка Android TextView и получение строки текста Изменение кода версии в AndroidManifest не работает Pakage для проверки токена входа в Google в режиме Go on GAE Android: навигационный ящик SubMenu: как собирать навигационные элементы Невозможно настроить плавающие кнопки действий, поскольку класс не может быть найден (Android Studio) Обнаружение голоса в приложении для Android Белый значок уведомления для Android с функцией Phonegap Build и PushPlugin Как анализировать память с помощью студии Android Android: есть ли способ программирования веб-ярлыка на главном экране? Как изменить цвет в круговом индикаторе выполнения?

Скрыть системную панель в планшетах

На моем планшете у него есть следующий бар для управления, дома и т. Д. (Я не знаю правильное имя, панель состояния? Панель управления? Панель действий? Или другая)

В программе он использует следующий метод для полного экрана.

requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); requestWindowFeature(Window.PROGRESS_INDETERMINATE_OFF); 

Но я не знаю, почему бар все еще здесь. Из-за этого я не могу иметь правильный размер экрана.

Кто может сказать мне, как его удалить?

Бар

Solutions Collecting From Web of "Скрыть системную панель в планшетах"

В планшетах с Android 4+ невозможно скрыть панель « Система / Навигация» .

Из документации ( Элементы управления для видимости интерфейса пользовательского интерфейса системы ):

SYSTEM_UI_FLAG_HIDE_NAVIGATION – это новый флаг, который полностью скрывает навигационную панель. Имейте в виду, что это работает только для панели навигации, используемой некоторыми телефонами ( она не скрывает системную панель на планшетах ).

Тем не менее, вы можете попытаться уменьшить системную панель, как это делается иногда во время игр и воспроизведения видео.

Флаг SYSTEM_UI_FLAG_LOW_PROFILE заменяет флаг STATUS_BAR_HIDDEN. Когда этот параметр установлен, этот флаг разрешает «низкий профиль» для системной панели или панели навигации. Скрываются кнопки навигации и другие элементы в системной панели. Включение этого полезно для создания более захватывающих игр без отвлечения для кнопок навигации системы.

Кажется, для этого есть флаг UNDOCUMENTED :

 yourGreatView.setSystemUiVisibility(8); 
  • Нет черного нижнего колонтитула («скрытая» системная панель)
  • Изменяет размер, если отображается клавиатура (без перекрывающихся входов)

Проверено на Android 4.1.2 (API 16)
Проверено на Android 4.1.1 (API 16)
Проверено, не работает на Android 4.0.4 (API 15)

(Все таблетки)

Очень ядерный вариант – просто удалить SystemUI.apk из / system / app /. Но предупреждение это полностью удалит его из планшета. Я делаю это на планшете, который я использую для киоска на передней панели, а затем я установил планшет для загрузки в свое приложение.

В Android 4.4 и выше вы можете полностью скрыть панель навигации и оставить ее скрытой, используя комбинацию полного экрана и погружения:

 @Override protected void onResume() { super.onResume(); View decorView = getWindow().getDecorView(); 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); } 

Как говорят другие люди, используйте команду «pm disable com.android.systemui» в корневом режиме, поэтому следующий код выполнит эту команду в вашем приложении Android, просто вызовите следующий метод, ваш планшет должен быть внедрен.

 private void hideNavigationBar(){ try { Process process = Runtime.getRuntime().exec("su"); DataOutputStream os = new DataOutputStream(process.getOutputStream()); os.writeBytes("pm disable com.android.systemui\n"); os.flush(); os.writeBytes("exit\n"); os.flush(); process.waitFor(); ////////////////////////////////////// } catch (InterruptedException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } 

Этот код скрывает навигационную панель в системе Android, чтобы снова использовать системную панель «pm enable com.android.systemui» вместо «pm disable com.android.systemui» в предыдущем коде.

 public class Utils { public static void hideNavigations(Activity context) { View decorView = context.getWindow().getDecorView(); 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); } 

}

В вашей деятельности:

 @Override protected void onResume() { super.onResume(); Utils.hideNavigations(this); } 

Так как системная панель используется для навигации в андроиде, нет простого способа добиться этого, вы можете отключить / уменьшить элементы управления:

 View v = findViewById(R.id.view_id); v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN); 

Но вы можете получить размер экрана без системной панели (не уверен, из какой версии, я думаю, 3.1)

 Method rawW = Display.class.getMethod("getRawWidth"); Method rawH = Display.class.getMethod("getRawHeight"); int width = (Integer)mGetRawW.invoke(dp); int height = (Integer)mGetRawH.invoke(dp); 

Если у вашего приложения есть root-доступ, есть также способ его достижения: http://ppareit.github.com/HideBar/

Вы не можете скрыть это, но вы можете просто отключить его, кроме дома. Попробуйте эту ссылку. , Используя SYSTEM_UI_FLAG_LOW_PROFILE, вы можете отключить панель управления, а использование onWindowFocusChanged() может сфокусироваться и свернуть ее.

Ниже код работал для меня –

Вы можете написать его в onCreate () или onResume (если необходимо)

 getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_IMMERSIVE | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);