Цвет строки состояния android

Цвет строки состояния android

631982 просмотра

15 ответа

16074 Репутация автора

Как изменить цвет строки состояния, который должен быть таким же, как в панели навигации.

Я хочу, чтобы цвет строки состояния был таким же, как цвет панели навигации

Ответы (15)

305 плюса

16074 Репутация автора

Добавлено в API уровень 21

Android Lollipop принес с собой возможность изменить цвет строки состояния в вашем приложении для более захватывающего взаимодействия с пользователем и в соответствии с Google Material Design Guidelines .

Вот как вы можете изменить цвет строки состояния, используя новый window.setStatusBarColor метод, представленный в API level 21 .

Изменение цвета строки состояния также требует установки двух дополнительных флагов в окне; вам нужно добавить FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS флаг и очистить FLAG_TRANSLUCENT_STATUS флаг.

Официальная ссылка для разработчика: setStatusBarColor (int)

Для transitionName просмотра фона будет android:status:background .

514 плюса

7810 Репутация автора

В Android 5.0 Lollipop появилась тема Material Design, которая автоматически окрашивает строку состояния в зависимости от colorPrimaryDark значения темы.

Это поддерживается на устройстве перед леденцом на палочке благодаря библиотеке support-v7-appcompat начиная с версии 21. Блог-пост о поддержке appcompat v21 от Криса Бэйнса

Автор: Giorgio Размещён: 28.07.2014 02:14

47 плюса

8091 Репутация автора

это очень простой способ сделать это без какой-либо библиотеки: если версия ОС не поддерживается — под kitkat — значит, ничего не произойдет. я делаю это шаги:

  1. в моем XML я добавил к вершине это представление:

Затем я сделал этот метод:

Также вам нужны оба этих метода, чтобы получить панель действий и высоту строки состояния:

тогда единственное, что вам нужно, это строка для установки цвета строки состояния:

Автор: itzhar Размещён: 06.10.2014 12:03

183 плюса

7258 Репутация автора

Поместите это ваши значения-v21 / styles.xml, чтобы включить это на Lollipop:

Автор: Niels Размещён: 14.11.2014 10:20

29 плюса

1746 Репутация автора

Что ж, решение Izhar было в порядке, но лично я пытаюсь избежать кода, который выглядит так:

Также я не люблю дублировать код. В вашем ответе я должен добавить такую ​​строку кода во все виды деятельности:

Итак, я взял решение Izhar и использовал XML, чтобы получить тот же результат: создать макет для StatusBar status_bar.xml

Обратите внимание на атрибуты высоты и высоты, они будут установлены в значениях values-v19, values-v21 далее.

Добавьте этот макет в макет ваших действий, используя include, main_activity.xml:

Для панели инструментов добавьте атрибут верхнего поля:

В вашем appTheme style-v19.xml и styles-v21.xml добавьте windowTranslucent attr:

И, наконец, в ваших измерениях Divens-v19, Dimens-v21 добавьте значения для topMargin панели инструментов и высоту statusBarHeight: dimensions.xml для меньшего размера, чем KitKat:

Высота строки состояния всегда составляет 24dp измерения-v19.xml для KitKat и выше:

Dimens-v21.xml для Lolipop, просто добавьте высоту, если необходимо:

Это результат для Jellybean KitKat и Lollipop:

2 плюса

648 Репутация автора

Еще одно решение:

Автор: Vova K. Размещён: 27.09.2015 05:38

4 плюса

1759 Репутация автора

Это то, что сработало для меня в KitKat и с хорошими результатами.

18 плюса

571 Репутация автора

Просто создайте новую тему в файле res / values ​​/ styles.xml, где вы измените «colorPrimaryDark», который является цветом строки состояния:

И измените тему действия в AndroidManifest.xml на ту, которую вы хотите, в следующем упражнении вы можете изменить цвет обратно на исходный, выбрав исходную тему:

Вот как должен выглядеть ваш res / values ​​/ colors.xml :

Читайте также:  Как проверить микроконтроллер на исправность

5 плюса

98 Репутация автора

Если вы хотите работать на Android 4.4 и выше, попробуйте это. Я имею в виду ответ Harpreet и эту ссылку. Android и прозрачная строка состояния

Сначала вызовите метод setStatusBarColored в методе onCreate в Activity (я поместил его в класс util). Я использую изображение здесь, вы можете изменить его, чтобы использовать цвет.

После:

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

Тогда строка состояния будет выглядеть следующим образом.

Автор: Allan Размещён: 17.06.2017 02:15

12 плюса

659 Репутация автора

У меня было это требование: программно изменить цвет строки состояния, оставив его прозрачным , чтобы панель навигации могла рисовать себя, перекрывая прозрачную строку состояния.

Я не могу сделать это с помощью API

Если вы отметите здесь в переполнении стека все до этой строки кода, установите прозрачность строки состояния на

Я могу управлять цветом и прозрачностью строки состояния следующим образом:

Android 4: вы мало что можете сделать, потому что вы не можете управлять цветом строки состояния из API . единственное, что вы можете сделать, это установить строку состояния как полупрозрачную и переместить цветной элемент вашего пользовательского интерфейса под статусом бар. Для этого нужно поиграть с

в вашем основном макете. Это позволяет вам нарисовать макет под строкой состояния. Затем вам нужно поиграть с некоторыми отступами в верхней части основного макета.

Android 5 и выше: вы должны определить стиль с

это позволяет навигационной панели перекрывать строку состояния.

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

где BoxLayout определяется следующим образом

12 плюса

644 Репутация автора

С помощью этой функции вы можете изменить цвет строки состояния. работает на Android L означает API 21 и выше и нуждается в цветовой строке, такие как "#ffffff" .

21 плюса

1298 Репутация автора

Как сказал @Niels, вы должны поместить в values-v21 / styles.xml:

Но добавьте, tools:targetApi="lollipop" если вы хотите один файл styles.xml, например:

5 плюса

154 Репутация автора

Отредактируйте colorPrimary в colors.xml в Values, чтобы цвет, которым вы хотите, чтобы была строка состояния. Например:

Автор: PhilipS Размещён: 06.09.2018 10:18

5 плюса

660 Репутация автора

Вы можете использовать этот простой код:

Однострочник в Котлине:

Оригинальный ответ с проверкой версии Java и вручную:

Как изменить цвет строки состояния, который должен быть таким же, как на панели навигации.

Я хочу, чтобы цвет строки состояния был таким же, как цвет панели навигации

Добавлено на уровне API 21

Android Lollipop принес с собой возможность изменить цвет строки состояния в вашем приложении для более захватывающего взаимодействия с пользователем и в соответствии с Googles Material Design Guidelines .

Вот как вы можете изменить цвет строки состояния, используя новый метод window.setStatusBarColor , представленный в API level 21 .

Изменение цвета строки состояния также требует установки двух дополнительных флагов в окне; вам нужно добавить флаг FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS и очистить флаг FLAG_TRANSLUCENT_STATUS .

Официальная ссылка для разработчика: setStatusBarColor (int)

transitionName для фона обзора будет android:status:background .

В Android 5.0 Lollipop появилась тема Material Design, которая автоматически окрашивает строку состояния в соответствии colorPrimaryDark значением colorPrimaryDark темы.

Это поддерживается на устройстве перед леденцом на палочке благодаря библиотеке support-v7-appcompat, начиная с версии 21. Блог-пост о поддержке appcompat v21 от Криса Бэйнса

Читайте также:  Звуковая карта pci 8738 драйвер windows 10

Поместите это ваши значения-v21/styles.xml, чтобы включить это на Lollipop:

Это очень простой способ сделать это без какой-либо библиотеки: если версия ОС не поддерживается — под kitkat — так ничего и не случилось. Я делаю следующие шаги:

  • в моем xml я добавил в начало этого представления:

то я сделал этот метод:

также вам нужны эти оба метода, чтобы получить панель действий и высоту строки состояния:

тогда единственная вещь, в которой вы нуждаетесь, — это строка для установки цвета строки состояния:

Ну, решение Ижара было в порядке, но, лично я пытаюсь избежать кода, который выглядит следующим образом:

Также мне не нравится дублировать код. В вашем ответе я должен добавить такую ​​строку кода во все действия:

Итак, я взял решение Izhar и использовал XML для получения того же результата: Создайте макет для StatusBar status_bar.xml

Обратите внимание на атрибуты высоты и высоты, они будут установлены в значениях, значения-v19, значения-v21 ниже.

Добавьте этот макет в макет своей деятельности, используя include, main_activity.xml:

Для панели инструментов добавьте атрибут верхнего поля:

В вашем appTheme style-v19.xml и styles-v21.xml добавьте windowTranslucent attr:

И наконец, на твоих размерах dimens-v19, dimens-v21 добавьте значения для панели инструментов topMargin и высоту statusBarHeight: dimens.xml меньше, чем KitKat:

Высота строки состояния всегда 24dp dimens-v19.xml для KitKat и выше:

dimens-v21.xml для Lolipop, просто добавьте высоту, если необходимо:

Это результат для Jellybean KitKat и Lollipop:

Как @Niels сказал, что вы должны поместить в значения-v21/styles.xml:

Но добавьте tools:targetApi="lollipop" , если вы хотите одиночные styles.xml, например:

Просто создайте новую тему в res/values ​​/styles.xml, где вы измените "colorPrimaryDark", который является цветом строки состояния:

И измените тему действия в AndroidManifest.xml на тот, который вы хотите, при следующем действии вы можете изменить цвет на исходный, выбрав исходную тему:

Вот как выглядят ваши res/values ​​/colors.xml:

Вы можете использовать этот простой код:

Однострочник в Котлине:

Оригинальный ответ с проверкой версии Java и вручную:

У меня было это требование: Изменять программно цвет строки состояния, сохраняя его прозрачным, чтобы позволить навигационному ящику нарисовать себя, перекрывая прозрачную строку состояния.

Я не могу этого сделать с помощью API

Если вы проверите здесь в переполнении стека все перед этой строкой кода, установите прозрачность строки состояния на сплошную с

Я могу управлять цветом и прозрачностью строки состояния следующим образом:

Android 4: вы не можете много сделать, потому что вы не можете управлять цветом строки состояния из API. единственное, что вы можете сделать, это установить строку состояния как полупрозрачную и перемещать цветной элемент из пользовательского интерфейса в строке состояния. Для этого вам нужно играть с

в вашем основном макете. Это позволяет рисовать макет в строке состояния. Затем вам нужно сыграть с некоторым дополнением с верхней частью основного макета.

Android 5 и выше: вы должны определить стиль с помощью

это позволяет навигационному ящику перекрывать строку состояния.

Затем, чтобы изменить цвет, сохраняя прозрачность строки состояния, вы должны установить цвет строки состояния с помощью

где drawerLayout определяется следующим образом

Прежде всего, это не дубликат, как в том, как изменить цвет фона строки состояния Android

Как изменить цвет строки состояния, который должен быть таким же, как на панели навигации.

Читайте также:  Как установить линукс на виртуальный диск

Я хочу, чтобы цвет строки состояния был таким же, как цвет панели навигации

Android 5.0 Lollipop представила тему Material Design, которая автоматически раскрашивает строку состояния на основе значения ColorPrimaryDark для темы.

Это поддерживается на устройстве pre-lollipop благодаря поддержке библиотеки v7-appcompat начиная с версии 21. Blogpost о поддержке appcompat v21 от Chris Banes

Подробнее о теме материала на официальном сайте разработчиков Android

Добавлено в API уровня 21

Android Lollipop привнес с собой возможность изменить цвет строки состояния в приложении для более впечатляющего пользовательского интерфейса и в соответствии с Material Design Guidelines Google.

Вот как вы можете изменить цвет строки состояния, используя новый метод window.setStatusBarColor представленный на API level 21 .

Изменение цвета строки состояния также требует установки двух дополнительных флагов в окне; Вам необходимо добавить флаг FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS и очистить флаг FLAG_TRANSLUCENT_STATUS .

TransName для фона представления будет « android:status:background ».

Поместите это ваши значения-v21 / styles.xml, чтобы включить это на Lollipop:

Это очень простой способ сделать это без какой-либо библиотеки: если версия ОС не поддерживается – под kitkat – так ничего и не случилось. Я делаю следующие шаги:

  1. В моем xml я добавил вверху этого вида:

То я сделал этот метод:

Также вам нужны эти оба метода, чтобы получить действие Bar & status bar height:

То единственное, что вам нужно, это эта строка, чтобы установить цвет строки состояния:

Ну, решение Izhar было в порядке, но, лично, я стараюсь избегать кода, который выглядит следующим образом:

Также мне не нравится дублировать код. В вашем ответе я должен добавить такую ​​строку кода во все действия:

Итак, я взял решение Izhar и использовал XML для получения того же результата: Создайте макет для StatusBar status_bar.xml

Обратите внимание на атрибуты высоты и высоты, они будут установлены в значениях, значения-v19, values-v21 ниже.

Добавьте этот макет в свой макет действий, используя include, main_activity.xml:

Для панели инструментов добавьте атрибут верхнего поля:

В вашем appTheme style-v19.xml и styles-v21.xml добавьте windowTranslucent attr:

И, наконец, на ваших размерах dimens-v19, dimens-v21 добавьте значения для панели инструментов topMargin и высоту statusBarHeight: dimens.xml меньше, чем KitKat:

Высота строки состояния всегда равна 24dp dimens-v19.xml для KitKat и выше:

Dimens-v21.xml для Lolipop, просто добавьте высоту, если необходимо:

Это результат для Jellybean KitKat и Lollipop:

Это то, что сработало для меня в KitKat и с хорошими результатами.

Еще одно решение:

Просто создайте новую тему в res / values ​​/ styles.xml, где вы измените «colorPrimaryDark», который является цветом строки состояния:

И измените тему активности в AndroidManifest.xml на тот, который вы хотите, и в следующем действии вы можете изменить цвет на исходный, выбрав исходную тему:

Вот как выглядят ваши res / values ​​/ colors.xml :

Если вы хотите работать с Android 4.4 и выше, попробуйте это. Я имею в виду ответ Harpreet и эту ссылку. Android и прозрачная строка состояния

Сначала вызовите метод setStatusBarColored в методе onCreate Activity (я поместил его в класс util). Я использую изображение здесь, вы можете изменить его, чтобы использовать цвет.

До:

После:

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

Тогда строка состояния будет выглядеть так.

Ссылка на основную публикацию
Хорошие дешевые жесткие диски
Лучший жесткий диск далек от SSD в плане скорости передачи данных, однако есть причина, по которой данные устройства все еще...
Формат записи видео mov
MOV против MP4 Существует много форматов файлов, которые можно использовать для хранения ваших видео в зависимости от ваших потребностей. MOV...
Формат ммгг как писать
Сбербанк Онлайн позволяет проводить различные платежи прямо из дома с любого устройства, имеющего доступ в Интернет. Это существенно экономит время...
Хорошие ноутбуки за 20000 для игр
Если вам необходим хороший ноутбук для работы, то вам придется потратится как минимум 20 тысяч рублей. За эти деньги вы...
Adblock detector