Заменить стоковую строку состояния наложением? - PullRequest
1 голос
/ 21 марта 2012

Существует приложение под названием StatusBar + . То, что он в основном делает, это заменяет строку состояния запаса на пользовательский оверлей.

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

Но мне просто интересно, как она способна скрыть строку состояния по умолчанию, но все еще имеет интервал сверху, чтобы она не перекрывала приложения. Или как это на самом деле перекрывает строку состояния. Мне просто любопытно.

Спасибо

1 Ответ

0 голосов
/ 30 апреля 2014

Это фактически перекрывает обычную строку состояния. Мне удалось сделать это самому в сервисе:

view= new View(context);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
        WindowManager.LayoutParams.MATCH_PARENT,
        mStatusBarHeight,
        WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
        WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR |  WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
        PixelFormat.TRANSLUCENT);
params.gravity = Gravity.TOP;
view.setLayoutParams(params);
view.setBackgroundColor(DEFAULT_TINT_COLOR);        

view.setVisibility(View.VISIBLE);
view.setBackgroundColor(0x80FF0000);

WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);

wm.addView(view, params);

Подробнее см. http://www.piwai.info/chatheads-basics/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...