Заголовок ActionBar с составной прорисовкой

Можно ли добавить составное рисование (что-то вроде drawableLeft) к заголовку стандартной панели действий без использования пользовательского представления?

Atm я использую SpannableString для заголовка (чтобы использовать пользовательский шрифт). Если я не могу установить оттягиваемый компанд, можно ли будет использовать ImageSpan, который я мог бы добавить к моей SpannableString?

Спасибо

2 ответа

Решение

Да, абсолютно. Вот быстрый пример:

    final int abTitleId = getResources().getIdentifier("action_bar_title", "id", "android");
    final TextView abTitle = (TextView) findViewById(abTitleId);
    abTitle.setCompoundDrawablesWithIntrinsicBounds(R.drawable.your_icon, 0, 0, 0);

Спасибо за ответ Adneal, но он не работает с Android Lollipop, и я нашел решение в соответствии с его методом. Это отсутствие стандартизации, но работает хорошо.

ViewGroup actionViewGroup = (ViewGroup) findViewById(getResources().getIdentifier("action_bar", "id", "android"));
if (actionViewGroup != null && actionViewGroup.getChildCount() > 0) {
    View view = actionViewGroup.getChildAt(0);
    if (view instanceof TextView) {
        TextView tv = (TextView) view;
            tv.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_test, 0, 0, 0);
    }
}
Другие вопросы по тегам