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 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...