在android中使用ListView时如何更改背景?

时间:2014-05-09 09:21:28

标签: android listview

我是Android开发的新手。 我有以下代码来创建listview:

public class SuggestActivity extends ListActivity {

    private List<Map<String, Object>> mData;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mData = getData();
        MyAdapter adapter = new MyAdapter(this);
        setListAdapter(adapter);
    }

现在我想为整个屏幕设置背景图像。注意:不是listview中的项目。 我该怎么办?

5 个答案:

答案 0 :(得分:2)

您需要检索ListView

ListView list = getListView();

然后,使用setBackgroundColor方法设置颜色,如下所示:

// use a color in colors.xml file  
list.setBackgroundColor(getResources().getColor(R.color.white)); 

setBackgroundDrawable可绘制资源相同:

list.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg_list));

答案 1 :(得分:1)

将background属性设置为listview。

<ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/bg" >
    </ListView>

此处,列表视图的背景将被分配一个您应放在“res / drawable”文件夹中的图像。图像的扩展名被省略,因此图像bg.png显示为'bg'

答案 2 :(得分:1)

使用setBackgroundDrawable方法:

getListView().setBackgroundDrawable(drawable);

答案 3 :(得分:0)

请注意您使用了ListActivity, 根据d.android.com:

ListActivity具有默认布局,该布局由屏幕中央的单个全屏列表组成。但是,如果需要,可以通过在onCreate()中使用setContentView()设置自己的视图布局来自定义屏幕布局。要做到这一点,你自己的视图必须包含一个带有id&#34; @android:id / list&#34;的ListView对象。 (或列出代码中的代码)

这意味着如果你使用setListAdapter,ListActivity将调用setContentView(com.android.internal.R.layout.list_content_simple);

答案 4 :(得分:0)

在XML中设置背景

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/bg" >
</ListView>

Java代码

ListView ls;
    ls.setBackgroundColor(Color.RED);