2015-12-28 2 views
2

У меня есть приложение, которое представляет собой полупрозрачный вид на все другие запущенные приложения (в основном фильтр работает как фоновая служба). Проблема, с которой я сталкиваюсь, заключается в том, что приложение не применяет фильтр к панели навигации (нижняя панель с кнопками «назад», «домой» и «последние вкладки»).Скрытие панели навигации в фоновом режиме-андроид

Флаги, которые я использовал для создания представления приведены в коде ниже:

WindowManager.LayoutParams params = new WindowManager.LayoutParams(
       WindowManager.LayoutParams.MATCH_PARENT, 
       WindowManager.LayoutParams.MATCH_PARENT, 
       WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 
       0 | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, 
       PixelFormat.TRANSLUCENT); 
     WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE); 
     wm.addView(mView, params); 

есть ли специальный флаг или что-нибудь еще, что мне нужно, чтобы покрыть панель навигации?

This is the screenshot of the filter running with everything else covered except the nav bar

+0

http://room-15.github.io/blog/2015/03/17/overlaying-the-system-navigation-bar/ проверить эту ссылку, может помочь вам –

+0

я упомянул эту ссылку, но нет использования. Флаг FLAG_LAYOUT_NO_LIMITS также не накладывает вид на панель навигации. Я тестирую свое приложение для андроида M. – Shreya

+0

http://developer.android.com/reference/android/view/View.html#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN читать полную документацию –

ответ

0

Добавить Y смещение вашего layoutparams для вашего наложения, чтобы перейти навигационной панели.

WindowManager.LayoutParams params = new WindowManager.LayoutParams(
       WindowManager.LayoutParams.MATCH_PARENT, 
       WindowManager.LayoutParams.MATCH_PARENT,0, navbarHeight(), 
       WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, 
       0 | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, 
       PixelFormat.TRANSLUCENT); 
     WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE); 
     wm.addView(mView, params); 

private int navbarHeight() { 
...code to calculate height of navbar 
} 
Смежные вопросы