如何在使用边框时更改TextInputLayoutText错误的错误背景?

时间:2017-04-28 21:28:02

标签: android

我正在使用带有背景的Android Design Library的TextInputLayout和TextInputEditText。设置错误时,该字段会突出显示我的客户不喜欢的红色背景。

如果我不包含字段边框,我可以去掉红色背景,但如果我使用的话,则不能。我已经尝试了所有在相关S / O答案中看到的样式选项但都没有成功。

我还尝试在设置错误后在代码中设置背景,如前面的答案here所述,红色背景 暂时从输入字段中移除,但很快就会重新出现当场重新进入。我尝试添加焦点更改侦听器并重做setBackgroundResource调用,但我仍然得到红色背景。单步执行调试器会显示已发布帧编排器消息,最终会返回背景颜色。由于这种方法总是感觉像是一种解决方法,我没有尝试发布我自己的消息来重新设置它。

在我看来,我想要的背景资源正在被背景颜色替换。有没有办法摆脱那种我只是没有看到的东西? enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

我设法通过这样的透明背景来实现这个目标

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_focused="true"
        android:top="5dp">
        <shape>
            <solid android:color="@android:color/transparent" />
            <stroke
                android:width="1dp"
                android:color="@color/colorWhite" />
            <corners android:radius="50dp" />
            <padding
                android:bottom="13dp"
                android:left="13dp"
                android:right="13dp"
                android:top="13dp" />
        </shape>
    </item>
</layer-list>