由于我這簡單扰才,所以使用 ListView 而不是RecycleView。
ListView的分割線代碼:
<com.zhy.autolayout.AutoLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.wumart.pos.aaatest.MyListView
android:id="@+id/my_list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@drawable/monitor_list_item_dash_main"
android:dividerHeight="@dimen/px_2" />
</com.zhy.autolayout.AutoLinearLayout>
monitor_list_item_dash_main:
<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/monitor_list_item_dash"
android:insetLeft="5dp"
android:insetRight="5dp" />
monitor_list_item_dash:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:width="1dp"
android:color="#fcf9f9"
android:dashGap="2dp"
android:dashWidth="1dp" />
</shape>
-------------------------------華麗的分割線--------------------------------
android中的shape的繪制線條,直接繪制只能是橫線,那么要繪制豎線需要將橫線旋轉(zhuǎn)90度才能實(shí)現(xiàn)豎線的效果
豎直方向虛線:
<TextView />
<ImageView
android:layerType="software"
android:layout_width="@dimen/px_2"
android:layout_height="match_parent"
android:background="@drawable/monitor_list_item_dash_vertical"/>
<TextView />
monitor_list_item_dash_vertical:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="-300dp"
android:right="-300dp">
<rotate
android:fromDegrees="90"
android:visible="true">
<shape android:shape="line">
<stroke
android:width="1dp"
android:color="#fcf9f9"
android:dashGap="2dp"
android:dashWidth="1dp" />
</shape>
</rotate>
</item>
</layer-list>
PS: ListView底部分割線不顯示的解決辦法:小技巧
listView.addHeaderView(new View(this));
listView.addFooterView(new View(this));
原理: android:footerDividersEnabled = true.