Android применяет стиль к пользовательскому TextView

У меня есть класс TextViewStyled , который расширяет TextView

В моей теме XML, как применить стиль ко всем моим виджетам TextViewStyled в действиях с выбранной темой?

У меня есть эта простая тема, но я хочу ограничить стиль Black Gold на TextViewStyled Widgets, не указав черное золото в атрибуте стиля TextViewStyled. Это одна из многих тем, которые будут переключаться динамически:

<?xml version="1.0" encoding="utf-8"?> <resources> <style name="MyThemeOneofMany" parent="android:Theme.NoTitleBar.Fullscreen"> <item name="android:???????????">@style/TextViewStyled_Black_Gold</item> </style> <style name="TextViewStyled_Black_Gold" parent="@android:style/Widget.TextView"> <item name="android:background">#1E1921</item> <item name="android:textColor">#A85E4F</item> <item name="android:textColorLink">#FFBC4F</item> <item name="android:textStyle">normal</item> </style> </resources> 

Solutions Collecting From Web of "Android применяет стиль к пользовательскому TextView"

Для темы AppCompat (2.3.3+):

 <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="android:textViewStyle">@style/PizzaSizeWidget</item> </style> <style name="CustomTextView" parent="@android:style/TextAppearance.Widget.TextView"> <item name="android:background">#1E1921</item> <item name="android:textColor">#A85E4F</item> <item name="android:textStyle">normal</item> <item name="android:textSize">93sp</item> </style> 

Чтобы задать стиль для TextViews в пользовательской теме, используйте имя «android: textViewStyle»:

 <style name="MyThemeOneofMany" parent="android:Theme.NoTitleBar.Fullscreen"> <item name="android:textViewStyle">@style/TextViewStyled_Black_Gold</item> </style> 

Нашел его, просматривая официальные темы android.xml.

Я обнаружил, что обновление стилей работает при переопределении базового класса textview после события inflation .