使用appcompat v7更改EditText底线颜色

我使用appcompat v7在Android 5及更低版本上获得一致的外观。它相当有效。但是,我不知道如何更改EditText的底线颜色和强调色。可能吗

我试图定义一个自定义的android:editTextStyle(参见下文),但我只成功地更改了完整的背景色或文本颜色,而没有更改底线或强调色。是否有要使用的特定属性值?我是否必须通过android:background属性使用自定义可绘制图像?不能用六边形指定颜色吗

<style name=“Theme.App.Base”parent=“Theme.AppCompat.Light.darkaActionBar”>
<item name=“android:editTextStyle”&[email protected]/Widget.App.EditText&lt/项目>
&lt/风格>
<style name=“Widget.App.EditText”parent=“Widget.AppCompat.EditText”>
???
&lt/风格>

根据android API 21来源,具有材质设计的编辑文本似乎使用colorControlActivatedcolorControlNormal。因此,我尝试在以前的样式定义中替代这些特性,但没有效果。可能appcompat没有使用它。不幸的是,我找不到最新版本的appcompat with material design的源代码

最后,我找到了一个解决办法。它只是覆盖应用程序主题定义中的colorControlActivatedcolorControlHighlightcolorControlNormal的值,而不是edittext样式。然后,考虑将此主题用于您想要的任何活动。以下是一个例子:

<style name=“Theme.App.Base”parent=“Theme.AppCompat.Light.darkaActionBar”>
<项目名称=“colorControlNormal”&gt#C5&lt/项目>
<项目名称=“colorControlActivated”&[email protected]颜色/重音&lt/项目>
<项目名称=“colorControlHighlight”&[email protected]颜色/重音&lt/项目>
&lt/风格>

发表评论