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