具有AppCompat用法的TextView样式的父样式

App*_*evo 4 android textview android-appcompat android-support-library android-styles

如果我想设置全局textViewStyle并保持与AppCompat的向后兼容性,我应该使用哪种父样式?我找不到像Widget.AppCompat.TextView这样的东西:

<style name="Base_AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="android:textViewStyle">@style/GlobalTextViewStyle</item>

</style>

<style name="GlobalTextViewStyle" parent="?????">
    <item name="android:textAppearance">@style/TextAppearance.AppCompat.Medium</item>
</style>
Run Code Online (Sandbox Code Playgroud)

azi*_*ian 7

您只需要扩展TextAppearance.AppCompat样式覆盖必要的值:

<style name="Base_AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="android:textAppearance">@style/MyTextAppearance</item>

</style>

<style name="MyTextAppearance" parent="TextAppearance.AppCompat">
        <item name="android:textColor">?android:textColorPrimary</item>
        <item name="android:textColorHint">?android:textColorHint</item>
        <item name="android:textColorHighlight">?android:textColorHighlight</item>
        <item name="android:textColorLink">?android:textColorLink</item>
        <item name="android:textSize">@dimen/abc_text_size_body_1_material</item>
        <item name="textColor">?textColorPrimary</item>
        <item name="textColorHighlight">?textColorHighlight</item>
        <item name="textColorHint">?textColorHint</item>
        <item name="textColorLink">?textColorLink</item>
        <item name="textSize">16sp</item>
        <item name="textStyle">normal</item>
</style>
Run Code Online (Sandbox Code Playgroud)


Anm*_*317 1

<style name="normal_text_white" parent="@android:style/TextAppearance.Medium">
    <item name="android:textColor">@color/white_color</item>
    <item name="android:textSize">@dimen/small_text_size</item>
    <item name="android:textColorHint">@color/hint_color</item>
</style>
Run Code Online (Sandbox Code Playgroud)