2015-01-14 3 views
-1

я узнал, что я могу скрыть виртуальные кнопки андроид телефон с:Скрыть виртуальные кнопки после того, как они показаны снова

this.getWindow() getDecorView() setSystemUiVisibility (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);..

Но как только пользователь делает их видимыми, вырываясь с края, они остаются видимыми.

Как скрыть их через мгновение?

Заранее благодарен!

Редактировать:

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

this.requestWindowFeature (Window.FEATURE_NO_TITLE); this.getWindow(). SetFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

это.getWindow(). GetDecorView(). SetSystemUiVisibility (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

Edit:

@Override 
    public void onSystemUiVisibilityChange(int visibility) { 

     if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { 

      getWindow().getDecorView().setSystemUiVisibility(
          View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 
          | View.SYSTEM_UI_FLAG_FULLSCREEN); 
    } else { 

    } 
    } 
+1

Просьба предоставить более подробную информацию о вашем коде. – Kenyanke

+0

отредактировал мой комментарий, надеюсь, что этого достаточно информации. – Oliver

+0

Эта функция доступна только на Android 4.1 или выше. – Kenyanke

ответ

0

Это то, что делают ваши: https://developer.android.com/training/system-ui/navigation.html

Это то, что вы хотите делать: https://developer.android.com/training/system-ui/visibility.html

Так в основном, когда вы скрыть элемент, вам необходимо прослушать (проверить), было ли оно изменено (Turn On On/Off), и оттуда снова включить его. Я бы скопировал/вставил код, но он находится в этих ссылках.

+0

Благодарности за anwser, но у меня последний вопрос: Я зарегистрировал слушатель и он вызывается, когда я красть в виртуальных кнопках, но кнопки не будут скрывать снова ... @Override общественных недействительным onSystemUiVisibilityChange (int visibility) { if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { getWindow(). getDecorView(). setSystemUiVisibility (View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN); Написал его сверху для лучшей видимости – Oliver

+0

Вы создали слушателя для объекта? – Kenyanke

+0

Да Я сделал вывод Log.d для консоли, поэтому я знал, что метод получил вызов – Oliver

Смежные вопросы