вторник, 20 января 2015 г.

Android. How to change action bar title color programmatically

Если Вам необходимо программно поменять цвет заголовка у ActionBar, но мир взбунтовался против Вас и рекомендует делать это разметкой, то добро пожаловать сюда.

Сделать это проще простого.

Заголовок у ActionBar может быть задан строкой из ресурсов, строкой Java или экземпляром класса Spannable.

В Android есть класс SpannableString, наследник Spannable, который позволяет описать разметку и оформление строки.

Воспользуемся им и создадим заголовок необходимого цвета:

String titleText = "Заголовок";
Spannable title = new SpannableString(titleText);
title.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.black)), 0, title.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
actionBar.setTitle(title);

Если смена цвета заголовка связана с меню, добавьте приведенный выше код в метод onCreateOptionsMenu у Activity.

Комментариев нет:

Отправить комментарий