我目前正在为EditText设计样式。 我想要的是EditText行的颜色在未选中时为一种颜色,在焦点/激活时为另一种颜色。
使用appcompat 22.2.0和构建工具22.0.1并在EditText中使用自定义主题,我看到了:
正常:
选择:
我想要替换未覆盖的线条颜色。
这是我的EditText xml:
<EditText
android:id="@+id/editTest"
android:theme="@style/MyEditTextTheme"
android:inputType="textEmailAddress" />
风格:
<style name="MyEditTextTheme">
<item name="colorControlNormal">@color/color_light_blue</item>
<item name="colorControlHighlight">@color/color_light_orange</item>
</style>
我做错了吗?
答案 0 :(得分:1)
您必须创建一个类似于此的drawable,只需添加一个选择器以添加选定/未选定状态:
(基本上我正在做的是制作一个带有X颜色边框的正方形,然后我创建一个背景颜色的正方形,但是将它向上移动边框的宽度,这样底部的颜色就不会覆盖但是左,右,顶部将被覆盖)
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape android:shape="rectangle">
<solid android:color="@color/your_color" />
</shape>
</item>
<item android:bottom="2dp">
<shape
android:shape="rectangle">
<solid android:color="@color/background_color" />
<stroke android:width="1dp" android:color="@color/background_color_to_mask_the_square"/>
</shape>
</item>
</layer-list>