改变EditText边框颜色

时间:2021-08-27 08:56:09

EditText中属性比较多,本节学习通过修改android:background属性的值实现EditText边框的去除与修改。


1、去除边框(将背景设为透明即可):android:background="@null"


2、当EditText聚焦时修改边框主要有以下几个步骤(并不是绝对的):

第一步:在drawable文件夹下,生成三个xml文件:bg_edit_normal.xml, bg_edit_focus.xml, bg_edit.xml。

bg_edit_normal.xml(未获取聚焦时的背景设置)

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#FFFFFF"/>
<corners android:radius="3dip"/>
<stroke
android:width="1dip"
android:color="#000000"/>
</shape>

bg_edit_focus.xml(获取聚焦时的背景设置)

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="#FFFFFF"/>
<corners android:radius="3dip"/>
<stroke
android:width="1dip"
android:color="#FF0000"/>
</shape>

bg_edit_edit.xml(根据selector来识别不同状态)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_focused="false" android:drawable="@drawable/bg_edit_normal"/>
<item android:state_focused="true" android:drawable="@drawable/bg_edit_focus"/>
</selector>

第二步:在完成上面三个xml文件的编写后,将bg_edit.xml应用到EditText的android:background中就可以改变边框的颜色。

<EditText 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_edit"
/>

效果图如下:

未聚焦时(边框为黑色)

改变EditText边框颜色

聚焦时(边框为红色)

改变EditText边框颜色