как изменить цвет текста индикатора вкладок в андроиде?

Исключение нулевого указателя генерируется, когда приложение пытается использовать null в случае, когда требуется объект. К ним относятся:

  1. Вызов метода экземпляра объекта null.
  2. Доступ или изменение поля объекта null.
  3. Принимая длину null, как если бы это был массив.
  4. Доступ или изменение слотов null, как если бы это был массив.
  5. Бросок null как будто это было значение Throwable.

Приложения должны бросать экземпляры этого класса, чтобы указать на другие незаконные использования объекта null.

Ссылка: http://docs.oracle.com/javase/8/docs/api/java/lang/NullPointerException.html

24
задан Praveen 21 August 2010 в 13:03
поделиться

2 ответа

Стиль в вашей пользовательской теме изменения

<item name="android:tabWidgetStyle">@android:style/Widget.TabWidget</item> 

и

<style name="Widget.TabWidget">
        <item name="android:textAppearance">@style/TextAppearance.Widget.TabWidget</item>
        <item name="android:ellipsize">marquee</item>
        <item name="android:singleLine">true</item>
</style>  


<style name="TextAppearance.Widget.TabWidget">
    <item name="android:textSize">14sp</item>
    <item name="android:textStyle">normal</item>
    <item name="android:textColor">@android:color/tab_indicator_text</item>
</style>     
24
ответ дан 28 November 2019 в 22:20
поделиться

Вот новый ответ, который я нашел от Фреда Гротта ( http://knol.google.com/k/fred-grott/advance-tabs/ ) после небольшого поиска в Интернете.
Это позволяет вам установить селектор для цвета текста, чтобы можно было использовать другой цвет, когда вкладка выбрана или нет. Это может быть очень полезно, если вы используете другой цвет фона для вкладки, если он выбран. Конечно, вы также можете использовать простой цвет, а не селектор.

final TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title);        
tv.setTextColor(this.getResources().getColorStateList(R.color.text_tab_indicator));

Где R.color.text_tab_indicator - это XML-файл селектора , расположенный в папке res / drawable.

Другими словами, текст индикатора на самом деле является TextView , который можно получить с помощью объекта View , к которому можно получить доступ из объекта TabWidget .
Взгляните на примеры Фреда для получения дополнительной информации и контекста относительно объявления переменных, а также других уловок.

30
ответ дан 28 November 2019 в 22:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: