我已經創建了一個特殊的List,它包含了下邊這些元素用來創建一個可以滾動的列表,這個列表的左側的每一行包含一個圖片,右側包含一些文本:
從“root”布局開始
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#C8C8C8"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:divider="#C8C8C8"
android:background="#C8C8C8"/>
然後在ListView中,我放置了下邊的"row" item
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/bg_row"
>
<ImageView
android:layout_width="wrap_content"
android:paddingLeft="10px"
android:paddingRight="15px"
android:paddingTop="5px"
android:paddingBottom="5px"
android:layout_height="wrap_content"
android:src="@drawable/bg_image"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="5px"
android:paddingBottom="5px"
android:textSize="16sp"
android:textColor="#000000"
android:layout_gravity="center"
android:maxHeight="50px"/>
</LinearLayout>
只要屏幕是靜態的(沒有滾動),它能夠正確顯示,但是當我開始通過背景的row-item(在代碼中,一個“icon”能夠顯示出來)列表滾動的時候,它能夠顯示,但是背景的“root”布局將成為全黑...大多數時候,當滾動條停止的時候背景又將回到原來的顏色...當我測試的時候,我還在root-element添加了一個帶有相同背景的TextView,當List滾動的時候,這將保留它的顏色...有人能解釋為什麼會發生這樣的情況嗎,怎麼解決?
在ListView Tag增加一個屬性
android:cacheColorHint="#00000000"