2011-11-04 30 views

Trả lời

12

Tạo một bản vá png 9 có pixel trong suốt ở bên trái và bên phải. Ví dụ: 53x4 .9.png có 25 pixel trong suốt ở hai bên (+ pixel đến 9patch) sẽ kéo dài 1 pixel ra sao cho có 25 pixel ở hai bên của nó.

0

Bạn sẽ có thể gọi

mListView.setDivider(Drawable d);

Và vượt qua nó có thể vẽ mà bạn có thể bao gồm trong res/thư mục drawable của bạn. Nếu bạn muốn làm cho nó đi gần như tất cả các cách trên bạn chỉ có thể làm cho một bản vá 9 có chứa một đường ngang với càng nhiều minh bạch ở bên trái và bên phải như bạn muốn. Và đặt nó để kéo dài phần giữa của dòng.

3

Nếu bạn không muốn thực hiện 9 vá, sau đó bạn có thể chèn

<View android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginTop="4dp" android:background="#33B5E5" />

trong mã xml lại list_item. Nó tạo ra một đường màu xanh và bạn có thể dễ dàng kiểm soát chiều rộng của dòng này. Để thực hiện thành công, bạn sẽ phải vô hiệu hóa bộ chia của listview. Được cung cấp here

+0

Để lại 'width' tại' match_parent' và thiết lập một lề trái hoặc phải. –

49

Thường được ưu tiên hơn sử dụng ListView ngay bây giờ. Xem this Q&A để biết cách đặt chiều rộng của dải phân cách trong một RecyclerView.

Sử dụng <inset>

drawable/list_divider.xml

<inset xmlns:android="http://schemas.android.com/apk/res/android" 
    android:insetLeft="10dp" 
    android:insetRight="10dp" > 

    <shape android:shape="rectangle" > 
     <solid android:color="@color/list_divider_color" /> 
    </shape> 

</inset> 

Và trong cách bố trí của bạn:

<ListView 
    android:id="@+id/listView1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:cacheColorHint="#00000000" 
    android:divider="@drawable/list_divider" 
    android:dividerHeight="1dp" > 
</ListView> 

enter image description here

Nguồn:

+0

Tôi đã thử điều này. Nhưng nó chồng lên dải phân cách tùy chỉnh của tôi trên dải mặc định. Bất kỳ ý tưởng tại sao? – Zen

+0

@Suragch xin lỗi vì ngoại tuyến, nhưng tôi không tìm thấy bất kỳ đề cập nào trong tài liệu liên quan đến việc không sử dụng 'ListView'. Tôi hiểu suy nghĩ của bạn đằng sau những lời này, nhưng tôi nghĩ nó có thể gây nhầm lẫn cho ai đó. Tuy nhiên, câu trả lời tuyệt vời. – Viacheslav

+1

@Viacheslav, cảm ơn. Tôi đã sửa lại từ ngữ của mình. – Suragch

Các vấn đề liên quan