我正在使用appcompat v7在Android 5及更低版本上获得一致的外观。效果不错。但是我不知道如何更改EditTexts的底线颜色和强调颜色。可能吗?
我试图定义一个自定义项android:editTextStyle(请参见下文),但是我仅成功更改了完整的背景色或文本色,但没有更改底线或强调色。是否有要使用的特定属性值?我必须通过android:background属性使用自定义可绘制图像吗?不能指定六种颜色吗?
android:editTextStyle
<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:editTextStyle">@style/Widget.App.EditText</item> </style> <style name="Widget.App.EditText" parent="Widget.AppCompat.EditText"> ??? </style>
根据android API 21的来源,具有材料设计的EditTexts似乎使用colorControlActivated和colorControlNormal。因此,我试图在以前的样式定义中覆盖这些属性,但是没有效果。appcompat可能不使用它。不幸的是,我找不到与材料设计有关的最新版本的appcompat的资源。
colorControlActivated
colorControlNormal
最后,我找到了解决方案。它只是由覆盖的价值colorControlActivated,colorControlHighlight并colorControlNormal在你的应用程序主题定义,而不是你的EditText风格。然后,考虑将这个主题用于你想要进行的任何活动。下面是一个示例:
<style name="Theme.App.Base" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorControlNormal">#c5c5c5</item> <item name="colorControlActivated">@color/accent</item> <item name="colorControlHighlight">@color/accent</item> </style>