2011-12-28 21 views
7

Tôi đang hiển thị ListView. Khi tôi kéo qua nó, toàn bộ ListView được chọn với nền đen. Làm thế nào tôi có thể loại bỏ nền đen?Cách xóa màu đã chọn khi kéo trên chế độ xem danh sách

+0

Từ blog của nhà phát triển Android: [Tại sao danh sách của tôi lại có màu đen? Tối ưu hóa Android] (http://android-developers.blogspot.com/2009/01/why-is-my-list-black-android.html) – blahdiblah

Trả lời

3
view.setBackgroundColor(android.R.color.transparent); 

nên view.setBackgroundResource (android.R.color.transparent) nguyên nhân setBackgroundColor mất một giá trị hex màu như tham số.

hoặc

android:cacheColorHint = "#00000000" 

sử dụng thẻ này cho ListView của bạn. hoặc bạn cũng có thể sử dụng

listview.setCacheColorHint() 

để đặt chương trình theo chương trình.

Từ Why is my list black? An Android optimization trên blog của các nhà phát triển Android:

Để khắc phục vấn đề này, tất cả các bạn phải làm là một trong hai vô hiệu hóa tối ưu hóa gợi ý màu cache, nếu bạn sử dụng một màu nền không vững chắc, hoặc thiết lập gợi ý cho giá trị màu đồng nhất thích hợp. Điều này có thể là mái vòm từ mã hoặc tốt hơn là từ XML, bằng cách sử dụng thuộc tính android: cacheColorHint. Để tắt tối ưu hóa, chỉ cần sử dụng màu trong suốt # 00000000. Ảnh chụp màn hình sau đây hiển thị danh sách có android: cacheColorHint = "# 00000000" được đặt trong tệp bố cục XML:

5

Có thể vì bạn có nền tùy chỉnh cho ListView. Khi bạn cuộn, toàn bộ danh sách sẽ được tô sáng bằng màu đen do cache color.

Thêm đoạn mã này để ListView của bạn và thử lại:

android:cacheColorHint="#00000000"

1

sử dụng này,

yourList.setCacheColorHint(Color.WHITE); 
15

chỉ cần sử dụng trong ur tập tin xml bên trong ListView,

android:cacheColorHint="@android:color/transparent" 
Các vấn đề liên quan