通过layer-list自定义EditText背景

假设activity的背景是白色,第一层也(就是最底层)是绿色;第二次是白色,但是距离底部有一段小偏移,目的是为了做出文本框两边的小勾;第三层也是白色,但是它距离底部和左右两边都有一定距离。通过三层配合,即可实现这种效果。

Layer-list

<?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="#0ac39e" />  
        </shape>  
    </item>  
  
    <item android:bottom="6dp">  
        <shape android:shape="rectangle" >  
            <solid android:color="#ffffff" />  
        </shape>  
    </item>  
  
    <item  
        android:bottom="1dp"  
        android:left="1dp"  
        android:right="1dp">  
        <shape android:shape="rectangle" >  
            <solid android:color="#ffffff" />  
        </shape>  
    </item>  
  
</layer-list> 

EditText

<EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/imageView"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="61dp"
        android:ems="10"
        android:inputType="textPersonName" 
        android:background="@drawable/background">

        <requestFocus />
    </EditText>
原文地址:https://www.cnblogs.com/tianzhijiexian/p/4255175.html