2018 Android, як зробити прозорим рядок стану правильно android

Androids .help Русский Android-спільнота.

Я намагаюся зробити прозорим рядок стану на Android 4.4+ Я знаю, як зробити його прозорим, визначаючи свій власний стиль:

Це вирішує верхню проблеми з прозорою рядку стану і виглядає нормально. На жаль, є проблема в нижній на "панелі навігації" за допомогою кнопок система, яка червоною і не прозорі, як я хочу.

2018 Android, як зробити прозорим рядок стану правильно android

Я намагався всі можливі варіанти для досягнення результатів при роботі, але я не можу зрозуміти, як її вирішити. Моя єдина робочого розчину встановлено верхню відступ про 60dp на кореневий елемент. Але це рішення є потворним і на різних пристроях може відрізнятися і може бути не працює.

Я нашелнесколько додатків Android у Google Play, який працює нормально з прозорим фоном, так що я цікаво, як вони роблять свою роботу.

Top 5 Respuesta

// UPDATE. Гаразд, це досить старий відповідь. Тепер ви можете використовувати матеріалі теми впоратися з цим, і це дуже легко. Просто встановіть цільової API для 21+, користуватися бібліотекою підтримки, якщо вам потрібно, і створити тему з матеріальної тему, де ви можете вказати в рядку стану колір безпосередньо

Добре, схоже, що я можу вирішити мою проблему. Це не найкращі і яскравий рішення, але воно працює рішення. Якщо хто-небудь в майбутньому буде дізнатися краще і більш чітке рішення, будь ласка, дайте мені знати, і я буду оновлювати мій відповідь / або зазначити свою відповідь як правильний. Але зараз, у мене немає кращого рішення, ніж цей маленький рубати:

Кореневий елемент макета повинен бути RelativeLayout. Чим повинні слідувати вашій основній макет, як ScrollView або будь-яких інших макетів, це не має значення. В кінці, перш ніж закрити Відносна тег Макет наступним порожній LinearLayout який створив той же фон, як панелі дій і фіксовану висоту (висота рядка стану).

Ок, тоді ви повинні встановити в коді і ту ж висоту Лінійний Макет какСтрока стану є:

А потім просто зателефонувати setStatusBarBackground в свій метод OnCreate (). Це робочий розчин для всіх різного роду deviceas. Для пристроях до KITKAT де прозорий фон не дозволив вам доведеться приховувати лінійної компоновки.

останні питання