android使用shape stroke描邊只保留底部 html
在項目中遇到這種狀況:因爲一些緣由,本身須要用LinearLayout的垂直佈局作出ListView的那種效果,可是ListView是自帶了分割線的,並且頂部底部都是沒有分割線的,每一個item中間都是1dp寬度的分割線。我一開始是想到LinearLayout中的每一個item用shape文件設置一個background,因而寫了以下的shape: android
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <stroke android:color="#B4B4B4" android:width="1dp"/> <solid android:color="@android:color/transparent"/> </shape>
因此要解決的問題就是,如何只保留底邊的stroke呢。通過一番修改實驗,使用layer-list能夠解決這個問題,很簡單,以下代碼所示: 佈局
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="-2dp" android:right="-2dp" android:left="-2dp"> <shape> <solid android:color="@android:color/transparent"/> <stroke android:width="1dp" android:color="#B4B4B4"/> </shape> </item> </layer-list>貌似 這個也能夠:
最終效果以下圖所示: spa
最後一個item的background就不設置就OK,實際運行效果也徹底同樣!這樣就大功告成了! code