我是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中的项目。 我该怎么办?
答案 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);