如何在列表第一次顯示時設置列表項的默認背景顏色?Android - listview - 默認listitem(狀態)背景顏色
似乎很容易......但等待...
背景:在anmiated彈出窗口我想顯示的項目列表。我想讓它們具有「soft_red」的初始顏色(作爲示例)。
最好我想通過XML佈局文件來設置它。
當然,我嘗試了各種選擇器的例子。 「按下」和「選定」工作正常。 但彈出後...... listitems的背景只是白色,而不是red_soft。
我的代碼:
final PopupWindow popup = new PopupWindow(myActivity);
popup.setContentView(layout);
...
ListView m_listview = (ListView) layout.findViewById(R.id.popup_menu_list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(myActivity, android.R.layout.simple_list_item_1, android.R.id.text1, menuItems);
m_listview.setAdapter(adapter);
佈局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/popupLinearLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:dividerHeight="2dp"
android:orientation="vertical" >
<ListView
android:id="@+id/popup_menu_list"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:listSelector="@drawable/list_selected_flat_colour"
android:layout_gravity="right" />
</LinearLayout>
選擇器代碼(list_selected_flat_colour.xml):
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Normal state. WHY IS THIS NEVER USED -->
<item android:drawable="@color/red_soft"
android:state_pressed="false"
android:state_selected="false"/>
<!-- pressed state. OK -->
<item android:drawable="@color/pink_soft"
android:state_pressed="true"
android:state_selected="false"/>
<!-- Selected state. OK-->
<item android:drawable="@color/green_soft"
android:state_pressed="false"
android:state_selected="true"/>
</selector>
感謝您的幫助。
什麼意思是彈出窗口。是否在單擊列表項後,您將顯示帶顏色的對話框。 – Psypher 2014-09-01 19:54:45
首先創建彈出窗口並在其中顯示列表視圖。請參閱上面的代碼。所以,彈出窗口會出現一個白名單項目列表。我想讓他們(在這個例子中)red_soft。 – tjm1706 2014-09-02 05:28:26