我目前正在设计EditText。
我想要的是EditText行的颜色在未选中时是一种颜色,而在聚焦/激活时是另一种颜色。

使用appcompat 22.2.0和构建工具22.0.1并在此处使用EditText的自定义主题,我看到的是:

正常:

android - Android Edittext线条颜色-LMLPHP

已选择:

android - Android Edittext线条颜色-LMLPHP

我希望线条颜色不覆盖而被替换。

这是我的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>


我在做错什么吗?

最佳答案

您必须创建一个与此类似的可绘制对象,只需添加一个选择器即可添加选定/未选定状态:

(基本上,我要做的是制作一个带有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>

关于android - Android Edittext线条颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31656255/

10-12 00:13
查看更多