清單是很常用的資料展現形式,清單的背景色采用不同的顔色間隔顯示是比較好的設計,可以使人更清楚的檢視資料,也使資料看上去更美觀
Android中,預設的ListView的背景色是黑色的,
可以通過重載方法修改背景色
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 關聯擴充卡
SimpleAdapter mAdapter = new SimpleAdapter(this,
getData(), R.layout.main,
// new String[]{"title","info","img"},
// new int[]{R.id.title, R.id.info, R.id.img});
new String[]{"title","info"},
new int[]{R.id.title, R.id.info})
{
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
// view.setBackgroundResource(colors[position % 10]);
if (position % 2 == 0 )
{
//如果注釋掉這句,滑動後,所有cell都會變成Color.GRAY
//可能是有種緩存機制
view.setBackgroundColor(Color.BLACK);
}
else
{
// view.setBackgroundResource(Color.GRAY);
view.setBackgroundColor(Color.GRAY);
}
return view;
}
};
setListAdapter(mAdapter);
}
更多代碼示例
package com.dannyAndroid.simpleadapterlistviewdemo;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.ListActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.*;
import android.widget.SimpleAdapter;
public class SimpleAdapterListViewDemo extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 關聯擴充卡
SimpleAdapter mAdapter = new SimpleAdapter(this,
getData(), R.layout.main,
// new String[]{"title","info","img"},
// new int[]{R.id.title, R.id.info, R.id.img});
new String[]{"title","info"},
new int[]{R.id.title, R.id.info})
{
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
// view.setBackgroundResource(colors[position % 10]);
if (position % 2 == 0 )
{
//如果注釋掉這句,滑動後,所有cell都會變成Color.GRAY
//可能是有種緩存機制
view.setBackgroundColor(Color.BLACK);
}
else
{
// view.setBackgroundResource(Color.GRAY);
view.setBackgroundColor(Color.GRAY);
}
return view;
}
};
setListAdapter(mAdapter);
}
// 擴充卡的清單資料來源
private List<Map<String,Object>> getData() {
List<Map<String,Object>> mList = new ArrayList<Map<String,Object>>();
Map<String,Object> map = new HashMap<String,Object>();
map.put("title", "Lei Feng");
map.put("info", "male");
map.put("img", R.drawable.male);
mList.add(map);
map = new HashMap<String,Object>();
map.put("title", "Mu Guiying");
map.put("info", "female");
map.put("img", R.drawable.female);
mList.add(map);
map = new HashMap<String,Object>();
map.put("title", "Lin Chong");
map.put("info", "male");
map.put("img", R.drawable.male);
mList.add(map);
for (int i = 0; i < 20; i++)
{
map = new HashMap<String,Object>();
map.put("title", "Lin Chong");
map.put("info", "male");
map.put("img", R.drawable.male);
mList.add(map);
}
return mList;
}
}