如何在列表第一次显示时设置列表项的默认背景颜色?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