问题 Android将样式应用于自定义TextView


我有一节课, TextViewStyled,它扩展了TextView

在我的主题XML中,如何将样式应用于我的所有 TextViewStyled 有关所选主题的活动的小部件?

我有这个简单的主题,但我想限制黑金风格 TextViewStyled 窗体小部件未在TextViewStyled样式属性中指定Black Gold。这是将动态切换的众多主题之一:

<?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>

2874
2017-08-10 18:15


起源



答案:


对于 程序兼容性 主题(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>

12
2017-10-28 19:27



应该 CustomTextView 代替 PizzaSizeWidget? - Onur Yıldırım


答案:


对于 程序兼容性 主题(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>

12
2017-10-28 19:27



应该 CustomTextView 代替 PizzaSizeWidget? - Onur Yıldırım


要在自定义主题中设置TextViews的样式,请使用名称“android:textViewStyle”:

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

通过官方android themes.xml查找时找到它 [点击进入]


2
2018-04-14 11:52





我发现在覆盖基础时更新样式是有效的 textview 上课后 inflation 事件。


2
2017-08-14 01:54



你如何更新风格? - schwiz
你能提供代码吗,你是怎么做到的?或者你放入了什么? marks <style name =“MyThemeOneofMany”parent =“android:Theme.NoTitleBar.Fullscreen”> <item name =“android:???????????”> @ style / TextViewStyled_Black_Gold </ item> </风格> - nauman