- How to Change the Background and Text Color of Android ActionBar Option Menu
- Android Example: Change the Background & Text Color of Android Option Menu
- Java Activity File
- Option Menu Items
- Styles.xml File
- Colors.xml File
- Android-Изменение Цвета Текста Заголовка Actionbar
- 11 ответов
- Цвет текста ActionBar
- Решение:–
How to Change the Background and Text Color of Android ActionBar Option Menu
Android action bar option menu is also known as overflow menu which is shown to the users when they click/press the menu key on android phone and tablet. Options menu can be customized according to our need, we can set or change the background color and text color. You can’t change the text and background color using android themes. In this tutorial, you will learn how to change the background color of android action bar option menu programmatically.
Changing the background color of your android app option menu is not the very difficult. Someone write it as difficult and tricky but here I am going to show you to change background and text color of your app option menu with simplest ways. Following is the step by step guide to change the background color of android option menu/ overflow menu.
Android Example: Change the Background & Text Color of Android Option Menu
Following is the content different files of android project to change the background and text color of android overflow menu.
Java Activity File
Following is the complete code of java activity file. Here you will see two override methods to add menu items in android application, onCreateOptionsMenu and onOptionsItemSelected .
src/ OverflowMenuBackgroundColor.java
Option Menu Items
Here I have added three items for option menu.
Styles.xml File
To add background and text color of overflow menu just add two line of more code android:textColor and itemBackground in your project styles.xml file. Following is the complete content of styles.xml file.
res/values/styles.xml
Colors.xml File
In this file I have defined different color value for option menu background, app text color, accent color, toolbar/app bar color, etc.
Источник
Android-Изменение Цвета Текста Заголовка Actionbar
Я разрабатываю приложение, и я хочу change the textcolor of the actionbar title . теперь я определил тему в своем манифесте:
который определяется в стилях.XML-код:
это не работает, но я не понимаю, почему. это должно работать в соответствии с ответ.ни стиль textview не работает.
что я делаю неправильно?
обновление: изменено, чтобы встретить Грейс Фэн ответ ниже
11 ответов
используя SpannableString мы можем установить цвет текста Actionbar title
теперь добавьте этот стиль в качестве темы для панели инструментов в xml.
и теперь у тебя есть то, что тебе нужно.
просто добавить app:titleTextColor=»@color/CUSTOM_COLOR» вот так:
когда я получил ту же проблему, я использовал:
Я думаю, что это просто проблема деятельности.Я использовал тот же код, что и ты, и он работает.
во-первых ,я использовал AppCompatActivity в качестве базовой активности и получаю ошибку. и тогда я использую и работает. На мой взгляд, ваш код используется для темы для темы.Хоро, а теперь мы используем тему.Совместимости приложений . Поэтому, если вы хотите изменить, просто reference изменение фона и цвета текста темы AppCompat Light DarkActionBar на android. Это работает для мне.Удачи тебе.
кажется, вы использовали style вместо theme . стили и темы отличаются. Так замените
Я не знаю решения, но я смог изменить цвет текста между белым и черным с помощью этого метода.
Так, в стилях.xml у вас есть:
Если вы измените то, что внутри родителя=». «для темных или светлых тем он адаптирует цвет текста к этим темам. Например, прямо сейчас у вас есть темная тема, а текст белый, но когда я изменить «тему.Совместимости приложений.Свет» цвет текста становится черным.
Источник
Цвет текста ActionBar
Как изменить цвет текста ActionBar? Я унаследовал тему Holo Light, я могу изменить фон ActionBar, но я не знаю, что является атрибутом для настройки цвета текста.
Хорошо, я могу изменить цвет текста с помощью атрибута android: textColorPrimary, но он также изменяет цвет текста выпадающего меню, отображаемого при переполнении на кнопках ActionBar. Любая идея, как изменить цвет выпадающего меню / списка?
Хорошо, я нашел лучший способ. Теперь я могу изменить цвет названия. Вы также можете настроить субтитры.
Вот мои styles.xml:
У меня была такая же проблема, как и у вас, это тема Holo.Light, но мне хотелось стилизовать цвет ActionBar, поэтому мне также нужно было изменить цвет текста, а также название и меню. Поэтому в конце я пошел в git-хаб и посмотрел на исходный код, пока не нахожу чертовски правильный стиль:
Поэтому теперь все, что вам нужно сделать, – установить любой @color/actionBarText и @drawable/actionbarbground вы хотите!
Я нашел способ, который хорошо работает с любым ароматом ActionBar ( Sherlock , Compat и Native ):
Просто используйте html для установки заголовка и укажите цвет текста. Например, чтобы цвет текста ActionBar был красным, просто выполните следующее:
Вы также можете использовать красный шестнадцатеричный код #FF0000 вместо red слова. Если у вас возникли проблемы с этим, см. Android Html.fromHtml (String) не работает для text .
Кроме того, если вы хотите использовать цветной ресурс, этот код можно использовать для получения правильной строки HEX и удаления альфы, если необходимо (тег шрифта не поддерживает альфа):
Идентификатор ActionBar недоступен напрямую, поэтому вам нужно немного взломать здесь.
Я сделал с простым кодом одной строки
Добавьте его в корень панели действий. У меня была эта проблема.
ActionMenuTextColor – изменяет цвет текста для текста панели действий, он никогда не работал, когда он был частью Widget.Styled.ActionBar , поэтому мне пришлось добавить его в корневой каталог. Другие 2 атрибута изменяют название и субтитры панели действий.
Настройка строки HTML на панели действий не работает над темой Material в SDK v21 +
Если вы хотите изменить его, вы должны установить основной цвет текста в вашем стиле.xml
Если вы хотите также подгонять субтитры, просто добавьте это в свой собственный стиль.
Люди, которые хотят получить тот же результат для библиотеки AppCompat то это то, что я использовал:
Это старая тема, но для будущих читателей. Если вы используете ToolBar, все упростит:
Это решение, которое я использовал после проверки всех ответов
Измените требуемые цвета, которые будут работать
Нашел способ сделать это красиво, не создавая собственный макет по API> = 21.
Он будет только раскрашивать тексты и управлять чертежами внутри панели действий.
Надеюсь, это будет полезно для кого-то.
Эта функция работает хорошо
То, чтобы использовать его, просто загрузите его панель действий и новый цвет, т. Е.
Попробуйте множество методов, в нижней версии API, допустимый метод: @color/your_color и не использовать пространство имен Android, надеюсь, вам помогут
Попробуйте добавить это в onCreate вашей деятельности. Работает практически на всех версиях Android.
Самый простой способ – сделать это в styles.xml.
Шаблон Google styles.xml в настоящее время генерирует следующее:
Если вы добавите еще одну строку перед закрывающим тегом, как показано, это изменит цвет текста на то, что должно быть с Dark ActionBar:
Если вы хотите настроить цвет на что-то еще, вы можете указать свой собственный цвет в colors.xml или даже использовать встроенный цвет с Android с помощью атрибута android: textColorPrimary:
Примечание. Это изменяет цвет заголовка, а также названия любых элементов меню, отображаемых в ActionBar.
Хорошим решением является использование пользователем SpannableStringBuilder и настройка цвета таким образом. Вы даже можете использовать разные цвета в разных частях строки, добавлять изображения и т. Д.
Протестировано с новой библиотекой поддержки.
См. Android: Раскраска части строки с помощью TextView.setText ()?
Это не рекомендуемое решение, так как я собираюсь в android apis здесь, но поскольку мое приложение требует динамического изменения темы при условиях xml, здесь это невозможно, поэтому мне нужно это сделать. Но это решение работает очень хорошо.
Решение:–
Для Android 5 (леденец) вам нужно будет использовать android: actionBarPopupTheme, чтобы установить textColor для меню переполнения.
Источник