您遇到的问题源于您缺少所需的android:dividerHeight以及您试图在可绘制对象中指定线宽的事实,而某些分隔符无法做到这一点奇怪的原因。从本质上说,要使您的示例生效,您可以执行以下操作:
将您的可绘制对象创建为矩形或直线,要么可以正常工作,要么无法尝试在其上设置任何尺寸,因此:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">
<stroke android:color="#8F8F8F" android:dashWidth="1dp" android:dashGap="1dp" />
</shape>
要么:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#8F8F8F"/>
</shape>
然后创建一个自定义样式(只是一个首选项,但我希望能够重用东西)
<style name="dividedListStyle" parent="@android:style/Widget.ListView">
<item name="android:cacheColorHint">@android:color/transparent</item>
<item name="android:divider">@drawable/list_divider</item>
<item name="android:dividerHeight">1dp</item>
</style>
最后使用自定义样式声明您的列表视图:
<ListView
style="@style/dividedListStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cashItemsList">
</ListView>
我假设您知道如何使用这些摘要,如果不告诉我的话。基本上,您的问题的答案是您无法在可绘制对象中设置分隔线的厚度,您必须在此处保留未定义的宽度,而是使用android:dividerHeight进行设置。