Android:textColor在android中忽略:textTeppearance的EditText

前端之家收集整理的这篇文章主要介绍了Android:textColor在android中忽略:textTeppearance的EditText前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有任何理由在通过自定义textAppearance样式设置时忽略textColor属性
<style name="EditTextAppearance" parent="@android:style/TextAppearance.Widget.EditText">
    <item name="android:fontFamily">sans-serif-medium</item>
    <item name="android:textSize">16sp</item>
    <item name="android:textColor">@color/blue</item> <!-- IGNORED -->
</style>

在XML中设置样式:

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="@style/EditTextAppearance"
    />

由于某种原因,此样式不会覆盖默认主题控件颜色.

我能够设置颜色的唯一方法是在EditText中设置textColor属性(但这不是我想要的):

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="@style/EditTextAppearance"
    android:textColor="@color/blue"
    />

注意,为TextView创建的textColor的自定义textAppearance可以正常工作.

我试图用android.support.v7.widget.AppCompatEditText或android.support.design.widget.TextInputEditText替换EditText,但结果是一样的.还是行不通.所以问题不在EditText实现中.

我发现问题同样的问题Why is textColor in android:textAppearance ignored?.不幸的是,没有回答.

解决方法

沿着该行的某处,正在拾取和应用textColor的错误/默认值.你可以通过在XML中为EditText设置android:textColor =“@ null”来强制你在android:textAppearance中定义的android:textColor.

猜你在找的Android相关文章