android中ListView默認的分割線是填充滿整個listview的寬度的,然後設計師需要的偏偏就是不填充滿的狀態,找了相關資料,寫了個demo驗證下。
當然最簡單的實現方式就是用圖片了,但是圖片就要涉及到分辨率,那用顏色填充會比較直接。
在drawable中定義我需要的分割線main_list_divider_line.xml
- <?xml version="1.0" encoding="utf-8"?>
- <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
- <item
- android:left="10dp"
- android:right="10dp">
- <shape android:shape="rectangle" >
- <solid android:color="#33000000" />
- </shape>
- </item>
- </layer-list>
其中android:left表明其距離左邊的距離,android:right表示距離右邊的距離,android:shape="rectangle"表示是用一個矩形填充,android:color="#33000000"填充的顏色。
然後在配置listview的地方設置分割線爲上述填充物即可
- <ListView
- android:id="@+id/main_list"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:divider="@drawable/<span style="color: #ff00ff;">main_list_divider_line</span>"
- android:dividerHeight="1px"
- android:layout_marginTop="14dp" >
- </ListView>