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"
/>
效果图如下:
未聚焦时(边框为黑色)
聚焦时(边框为红色)