Vấn đề bạn đang gặp phải bắt nguồn từ thực tế là bạn đang thiếu android: dividerHeight, thứ bạn cần và thực tế là bạn đang cố gắng chỉ định độ đậm dòng trong tệp có thể vẽ của mình, điều mà bạn không thể làm với dải phân cách đối với một số lý do kỳ quặc. Về cơ bản để làm cho ví dụ của bạn hoạt động, bạn có thể làm một số điều như sau:
Tạo có thể vẽ của bạn dưới dạng hình chữ nhật hoặc đường thẳng, hoặc hoạt động mà bạn không thể cố gắng đặt bất kỳ kích thước nào trên đó, vì vậy:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line">
<stroke android:color="#8F8F8F" android:dashWidth="1dp" android:dashGap="1dp" />
</shape>
HOẶC LÀ:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#8F8F8F"/>
</shape>
Sau đó, tạo một phong cách tùy chỉnh (chỉ là tùy chọn nhưng tôi muốn có thể sử dụng lại nội dung)
<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>
Cuối cùng khai báo chế độ xem danh sách của bạn bằng kiểu tùy chỉnh:
<ListView
style="@style/dividedListStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cashItemsList">
</ListView>
Tôi cho rằng bạn biết cách sử dụng những đoạn mã này, nếu không hãy cho tôi biết. Về cơ bản câu trả lời cho câu hỏi của bạn là bạn không thể đặt độ dày của dải phân cách trong có thể kéo, bạn phải để chiều rộng không xác định ở đó và sử dụng android: dividerHeight để đặt nó thay thế.