Я добавляю представление в Windows Manager, используя эти параметры макета: < /p>
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_ACCESSIBILITY_OVERLAY,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE |
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM |
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT
);
< /code>
Ожидаемый результат - это окно наложений, которое покрывает весь экран, кроме как системный пользовательский интерфейс (навигационная панель и панель состояния) и не покрывает мягкую клавиатуру. < /p>
Приведенные выше параметры. />
Ожидаемый результат:
Я попробовал пару флагов, таких как: < /p>
WindowManager.LayoutParams.FLAG_LAYOUT_ATTACHED_IN_DECOR
< /code>
и комбинация: < /p>
WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
< /code>
Но ни один из них не работал.
Я также прошел документацию для системного пользовательского интерфейса, но большинство вариантов, которые включают Windowmanager.layoutparams < /code> флаги для скрытия декора />
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
< /code>
Флаг, если я удалю его, кнопки навигации видны, но наложение будет покрывать клавиатуру, он сделает это, даже если я использую что -то вроде этого: < /p>
params.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE;
< /code>
Мой вопрос: < /p>
Есть ли способ иметь наложение, которое не покрывает клавиатуру и не скрывает кнопки навигационной панели? < /p>
Подробнее здесь: https://stackoverflow.com/questions/588 ... on-buttons