<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" android:dither="true"> <corners android:radius="2dp"/> <stroke android:width="2dp" android:color="#ccc" /> </shape> </item> <item android:top="0dp" android:bottom="2dp" > <shape android:shape="rectangle" android:dither="true"> <corners android:radius="2dp"/> <solid android:color="@android:color/white"/> </shape> </item> </layer-list>
咱們注意到上面的文件中有item和shape,shape就很少說了就是一個規則的圖像。其中item用了bottom、top來指定上下的內邊距,最終帶來了以下的效果:android
咱們來一步一步的理解這是怎麼作出來的:spa
1.首先畫一個只有描邊的shape:.net
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" android:dither="true"> <corners android:radius="2dp"/> <stroke android:width="2dp" android:color="#ccc" /> </shape> </item> </layer-list>
2.接下來咱們須要讓底部顯示出灰色的描邊,其他的地方都應該是白色的,因此寫一個白色的shape,而且底部內邊界是2dp。這裏的bottom就是底部的內邊距。code
<item android:bottom="2dp" > <shape android:shape="rectangle" android:dither="true"> <corners android:radius="2dp"/> <solid android:color="@android:color/white"/> </shape> </item>
3.最終組合起來,產生最終的效果:xml
<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" android:dither="true"> <corners android:radius="2dp"/> <stroke android:width="2dp" android:color="#ccc" /> </shape> </item> <item android:bottom="2dp" > <shape android:shape="rectangle" android:dither="true"> <corners android:radius="2dp"/> <solid android:color="@android:color/white"/> </shape> </item> </layer-list>
參考自:blog
http://my.oschina.net/u/937713/blog/168673utf-8