简体   繁体   中英

Change background color of listview

I am using ListView inside a ViewFlipper as follows:

<ViewFlipper
    android:id="@+Category/viewFlipper"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
   <ListView
        android:id="@+id/listView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:entries="@array/options"
        android:cacheColorHint="#FFFFFF"
        android:background="#FFFFFF"/>
</ViewFlipper>

I want to change the background color of the ListView. I have only 5 items in the options array and they do not fill the screen. So, the remaining part of the listView appears in the default grey color. I want to change this default color. I read about cacheColorHint attribute in questions posted by others related to this. But it did not work out. Can anyone please help me with this?

Thanks in advance

Set a selector as the background of your ListView:

ListView mylw = findViewById(R.id.mylistView);
//Do not use reserved  android or java identifiers as your id or variable!
mylw.setBackgroundResource(R.drawable.thexmlbelow);

Drawable:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="false" android:drawable="Background Color" />
    <item android:drawable="Background Color when pressed" />
</selector>

您应该使用layout_height="wrap_content" (和layout_width="wrap_content"也如需要)为您的ListView和更改“默认灰色”像你说的通过设置背景ViewFlipper。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM