2011-08-16 30 views
11

Tôi có một chế độ xem danh sách đang hiển thị dấu màu vàng trên các mục khi tôi chạm vào chúng. Tất cả tôi đã làm khác đi là thay đổi hình nền ở chỗ listview xml, và bây giờ nó sẽ không còn cho tôi xem yellowtintChế độ xem danh sách Android không còn đánh dấu lựa chọn nào nữa trênclick

Đây là mã

danh sách xem xml, nó chỉ là một TextView với một nền image:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:padding="10dp" 
    android:textSize="24sp" 
    android:textColor="#000000" 
    android:background="@drawable/bglistitem" 
    android:gravity="center_vertical|center_horizontal"> 
</TextView> 

nơi ở khác bố trí nơi nó được gọi là

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:padding="10dp" 
    android:textSize="24sp" 
    android:textColor="#000000" 
    android:background="@drawable/bglistitem" 
    android:gravity="center_vertical|center_horizontal"> 
</TextView> 

và đây là mã:

như bạn có thể thấy ở trên, tôi chưa bao giờ làm bất cứ điều gì có thể thay đổi hành vi mặc định của lựa chọn làm nổi bật, tại sao điều này sẽ khác bây giờ, có lẽ điều bạn thấy không thấy?

Trả lời

20

Khi bạn thêm một nền mới vào ListView, bạn đã bỏ qua nền mặc định của Android có nhiều khả năng nhất bằng cách sử dụng bộ chọn để tô màu ListItem tùy thuộc vào trạng thái của chúng.

Hãy thử sử dụng một bộ chọn tùy chỉnh

Tạo một tập tin XML, mycustombackground.xml, và thêm video này vào nó:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" 
     android:drawable="@drawable/item_pressed" /> 
    <item android:state_focused="true" 
     android:drawable="@drawable/item_focused" /> 
    <item android:drawable="@drawable/item_normal" /> 
</selector> 

Thay @drawables với của riêng bạn trong mối quan hệ với nhà nước. Sau đó, đặt nền của chế độ xem danh sách của bạn thành tệp xml.

android:background="@drawable/mycustombackground" 

Bạn có thể muốn xem xét XML để tạo màu vàng hoặc chỉ tạo hình ảnh của riêng bạn.

+0

Tôi đã tìm ra, nhờ vào thông tin chi tiết của bạn, đã giúp tôi thu hẹp các khả năng. Hóa ra nếu bạn có bất kỳ alpha trong hình ảnh thì đánh dấu màu vàng sẽ xảy ra. Nếu bạn có một hình ảnh mờ thì nó sẽ không làm nổi bật – CQM

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