Material 设计:EditText的高亮颜色变成半透明

Material Design: EditText's highlight color becomes half transparent

在Android 5.0 设备中,您可以看到高亮颜色与正常颜色重叠。

在Android4.4.4(正常情况下),

我的编辑文本:

<EditText android:layout_width="320dp"
              android:layout_height="wrap_content"
              android:id="@+id/account"
              android:padding="16dp"
              android:singleLine="true"
              android:imeOptions="actionNext"/>

风格:

<style name="AppTheme" parent="AppTheme.Base"/>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorControlNormal">@color/colorPrimary</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="windowActionBar">false</item>
    <item name="windowActionModeOverlay">true</item>
</style>

v21 风格

<style name="AppTheme" parent="AppTheme.Base">
</style>

我不知道为什么会这样。

该代码在另一个应用程序中运行良好。

但我找不到两个应用程序之间的任何区别。

有人知道吗?

谢谢!


[更新]

抱歉,同样代码的其他项目也遇到了。

为您的 styles.xml(v19) 和样式 (v22) 添加这个:

@color/colorHighlight

你可以这样做:

在 styles.xml 中:

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorPrimaryDark</item>
    <item name="android:windowBackground">@android:color/white</item>
</style>

和 styles.xml(v19) :

<style name="AppTheme" parent="AppTheme.Base">
    <item name="android:windowTranslucentStatus">true</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="colorControlHighlight">@color/colorHighlight</item>

和 styles.xml(v22) :

<style name="AppTheme" parent="AppTheme.Base">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="android:colorAccent">@color/colorAccent</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:colorControlHighlight">@color/colorHighlight</item>
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowTransitionBackgroundFadeDuration">5000</item>
</style>

好的,

我报告了这个问题并得到了 Google 的回复。

The EditText drawables were updated in 5.1 (which is what 4.4 and below are using).

Since the visual change is small it's not worth updating these for 5.0.x.

Thanks for the report though.