EditText只有底部边框的XMl实现方式

Android 2016-03-21

实现思路

  • 定义没有选择时的shape样式,把size的height定位1dp,设置solid边框样式。
  • 同上定义选中时的shape样式。
  • 设置selecter选择器
  • 把EditText的backgroun设为null
  • 把EditText的drawableBottom设置为select。

bg_edittext.xml

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

bg_edittext_active.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/mainColor" />

    <size
        android:height="1dp"
        android:width="1000dp" />
</shape>

bg_edittext_normal.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/gray" />

    <size
        android:height="1dp"
        android:width="1000dp" />
</shape>

布局文件

           <EditText
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="用户名"
                    android:imeActionId="@+id/login"
                    android:imeActionLabel="用户名"
                    android:imeOptions="actionGo"
                    android:maxLines="1"
                    android:singleLine="true"
                    android:background="@null"
                    android:drawableBottom="@drawable/bg_edittext"
                    />

本文由 zhanghuayan 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

赏个馒头吧