1. 程式人生 > >Android通過layer-list為控制元件繪製一邊或多邊邊線的方法

Android通過layer-list為控制元件繪製一邊或多邊邊線的方法

layer-list:將多個圖片按照程式碼順序層疊起來的效果

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape>
            <solid android:color="#ff0000" />
        </shape>
    </item>
    <!--這裡的right和bottom表示的是這一層圖片的右邊距和下邊距,當然還有left和top-->
<item android:right="10px" android:bottom="10px"> <shape> <solid android:color="#00ff00" /> </shape> </item> </layer-list>

效果:
這裡寫圖片描述

主要是第二個item的四個邊距屬性的應用,依次我們可以堆疊很多層,甚至讓控制元件的四個邊線呈現不同的顏色都是可以做到的

比如這樣(right_gray_border_bg.xml):

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape> <solid android:color="#ff0000" /> </shape> </item> <item android:top="10px"> <shape> <solid android:color="#00ff00" />
</shape> </item> <item android:left="10px" android:top="10px"> <shape> <solid android:color="#0000ff" /> </shape> </item> <item android:left="10px" android:top="10px" android:bottom="10px"> <shape> <solid android:color="#49A3D5" /> </shape> </item> <item android:left="10px" android:top="10px" android:bottom="10px" android:right="10px"> <shape> <solid android:color="#B14C7E" /> </shape> </item> </layer-list>

效果:
這裡寫圖片描述

引用:

android:background="@drawable/right_gray_border_bg"