Android 设置EditText的底边框
2019-04-21 本文已影响487人
12313凯皇
如图:
想要给
EditText
设置一个底边框,总共有三步:
步骤一
在/res/drawable
文件夹下创建一个布局样式:
<!-- line_et_normal.xml -->
<?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="@android:color/transparent" />
</shape>
</item>
<item
android:left="-2dip"
android:right="-2dip"
android:top="-2dip">
<shape>
<solid android:color="@android:color/transparent" />
<stroke
android:width="1dip"
android:color="@color/white"
android:dashGap="0dp"
android:dashWidth="0dip" />
</shape>
</item>
</layer-list>
步骤二
在/res/drawable
文件夹下创建用于给EditText
设置背景的xml
文件:
<!-- et_bg.xml -->
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/line_et_normal" android:state_focused="true" />
<item android:drawable="@drawable/line_et_normal" android:state_focused="false" />
</selector>
其中,android:state_focused="true"
是设置获得焦点时的样式,android:state_focused="false"
是设置失去焦点时的样式。
步骤三
最后,给EditText
的background
属性设置成步骤二中所创建的文件样式即可
<EditText
android:id="@+id/login_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/et_bg" />