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

时间:2017-04-26 11:32:35

标签: android textview android-support-library android-appcompat 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>

4 个答案:

答案 0 :(得分:6)

您只需要扩展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>

答案 1 :(得分: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>

答案 2 :(得分:1)

如果您想为应用中的所有TextView's设置此样式,可以执行以下操作:

<resources>
<style name="YourTheme" parent="android:YourParentThTheme">
    <item name="android:textViewStyle">@style/GlobalTextViewStyle </item>
</style>

<style name="GlobalTextViewStyle" parent="android:Widget.TextView">
    <item name="android:textColor">#FF000</item>
    <item name="android:textStyle">bold</item>
</style>
</resources>

答案 3 :(得分:0)

我们也可以对var foundIndex = this.state.data.findIndex(x => x.key == x.key); 小部件进行尝试。

findindex