我有两个主题,
AppTheme
- 适用于整个申请和
AppTheme.NoActionBar
- 用于导航活动
在这两个主题中,我都是文字样式。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:fontFamily">sans-serif-light</item>
<item name="android:textColor">@color/black_shade</item>
<item name="android:textSize">@dimen/text_size</item>
<item name="android:windowFullscreen">true</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:fontFamily">sans-serif-light</item>
<item name="android:textColor">@color/black_shade</item>
<item name="android:textSize">@dimen/text_size</item>
<item name="android:windowFullscreen">true</item>
</style>
如何对文本样式项进行分组并在这两个主题中引用它们?
我试过了:
<style name="TextAppearance" >
<item name="android:fontFamily">sans-serif-light</item>
<item name="android:textColor">@color/black_shade</item>
<item name="android:textSize">@dimen/text_size</item>
<item name="android:windowFullscreen">true</item>
</style>
由
提及 <item name="textAppearance">@style/TextAppearance</item>
它不起作用。
我如何实现这一目标?
答案 0 :(得分:2)
请参阅:https://stackoverflow.com/a/3166865/5018798
我的例子(基于上述):
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textViewStyle">@style/TextAppearance</item>
</style>
<style name="AppTheme.NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:textViewStyle">@style/TextAppearance</item>
</style>
<style name="TextAppearance" parent="android:Widget.TextView">
<item name="android:textColor">#F00</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">55sp</item>
</style>
</resources>
答案 1 :(得分:0)
您可以执行以下操作:
<style name="AppTheme" parent="@style/Theme.AppCompat.Light">
...
<item name="android:textColorPrimary">Your color</item>
...
</style>
将清单中的应用主题设置为Apptheme:
<application
...
android:theme="@style/AppTheme"
....
>
你必须这样做,否则文字颜色不会改变:
<style name="AppTheme.NoActionBar" parent = "AppTheme">