@Dariek

Как убрать status bar в android 5-6?

Речь о самом верхнем баре с часами, зарядом батареи и т.п.
В полноэкранный режим перейти не проблема, проблема в том что по свайпу он всё равно появляется, пускай и прозрачный. Как мне его убрать или как изменить его высоту?
  • Вопрос задан
  • 4216 просмотров
Решения вопроса 1
@Dariek Автор вопроса
В общем решил всё костылём. Суть такая:
Делаю кастомную вьюху отрисовывающую background и помещаю её на верхний, системный уровень.
Формально это не предотвращает отображение статус бара свайпом, но кастомная вью в размер бара его перекрывает. Визуально артефактов или подвисаний нет. Но решение конечно костыль, допустимый лишь с учётом штучного решения под конкретные два устройства.

Код для отрисовки поверх примерно таков:
WindowManager.LayoutParams mLP = new WindowManager.LayoutParams(
                WindowManager.LayoutParams.MATCH_PARENT,
                statusBarHeight,
                WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
                WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
                        WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
                        WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
                PixelFormat.TRANSLUCENT);

        mLP.gravity = Gravity.TOP | Gravity.CENTER;

        WindowManager mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
        mWindowManager.addView(myCustomView, mLP);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
orcDamnar
@orcDamnar
Java, C/C++, Android SDK
ну вы можете перехватывать тач и не отдавать его дальше, как вариант. или заблокировать свайп, по тачу он не должен срабатывать.
Ответ написан
Комментировать
У окна должен быть тип TYPE_SYSTEM_ERROR. Он перекроет статус-бар, свайп не сработает, и это окно ловит касания. Но у такого окна другая проблема, он не наезжает на панель навигации на аппаратах с виртуальными кнопками. Да и всё равно панель навигации можно достать свайпом снизу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы