Android开发之ListView设置隔行变色

 1 public class HLCheckAdapter extends BaseAdapter {
 2 
 3     private List<HuoLiang> list;
 4     private Context context;
 5     private int item;
 6     private LayoutInflater inflater;
 7 
 8     public HLCheckAdapter(List<HuoLiang> list, int item, Context context) {
 9         this.list = list;
10         this.item = item;
11         this.context = context;
12         this.inflater = LayoutInflater.from(context);
13     }
14 
15     @Override
16     public int getCount() {
17         // TODO Auto-generated method stub
18         return list.size();
19     }
20 
21     @Override
22     public Object getItem(int arg0) {
23         // TODO Auto-generated method stub
24         return list.get(arg0);
25     }
26 
27     @Override
28     public long getItemId(int arg0) {
29         // TODO Auto-generated method stub
30         return 0;
31     }
32 
33     @Override
34     public View getView(int position, View convertView, ViewGroup parent) {
35         // TODO Auto-generated method stub
36         ViewHolder holder = null;
37         if (convertView == null) {
38             convertView = inflater.inflate(item, null);
39             holder = new ViewHolder();
40             holder.dianmian = (TextView) convertView
41                     .findViewById(R.id.dianmain);
42             holder.agent_cargo_charge = (TextView) convertView
43                     .findViewById(R.id.agent_cargo_charge);
44             holder.total_price = (TextView) convertView
45                     .findViewById(R.id.total_price);
46             holder.shuliang = (TextView) convertView
47                     .findViewById(R.id.shuliang);
48             holder.quantity = (TextView) convertView
49                     .findViewById(R.id.quantity);
50             holder.no = (TextView) convertView.findViewById(R.id.number);
51             convertView.setTag(holder);
52         } else {
53             // viewHolder被复用
54             holder = (ViewHolder) convertView.getTag();
55         }
56         String dianmian = list.get(position).getDianmian();
57         String total_price = list.get(position).getTotal_price();
58         String agent_cargo_charge = list.get(position).getAgent_cargo_charge();
59         String shuliang = list.get(position).getShuliang();
60         String quantity = list.get(position).getQuantity();
61         String number = position + 1 + "";
62         holder.no.setText(number);
63         holder.dianmian.setText(dianmian);
64         holder.total_price.setText(total_price);
65         holder.agent_cargo_charge.setText(agent_cargo_charge);
66         holder.shuliang.setText(shuliang);
67         holder.quantity.setText(quantity);
68         holder.no.setTypeface(Typeface.SANS_SERIF, Typeface.ITALIC);
69         holder.dianmian.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD);// 第一个参数:字体类型、第二个参数字体风格
70         
71         holder.total_price.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD_ITALIC );//粗斜体
72         holder.agent_cargo_charge.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD_ITALIC );
73         holder.shuliang.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD_ITALIC );
74         holder.quantity.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD_ITALIC );
75         // 为listView设置隔行变色
76         if (position % 2 == 0) {
77             convertView.setBackgroundResource(R.drawable.item_selector);
78         } else {
79             convertView.setBackgroundResource(R.drawable.item_selector1);
80         }
81 
82         return convertView;
83     }
84 
85     private class ViewHolder {
86         private TextView dianmian;
87         private TextView total_price;
88         private TextView agent_cargo_charge;
89         private TextView shuliang;
90         private TextView quantity;
91         private TextView no;
92     }
93 }

item_selector.xml

1 <?xml version="1.0" encoding="utf-8"?>
2 <selector xmlns:android="http://schemas.android.com/apk/res/android" >
3     <item android:state_pressed="false" android:drawable="@color/itemnormal1"></item>
4 
5 </selector>

item_selector1.xml

1 <?xml version="1.0" encoding="utf-8"?>
2 <!--?xml version="1.0" encoding="utf-8"?-->
3 <selector xmlns:android="http://schemas.android.com/apk/res/android">
4     <item android:state_pressed="false" android:drawable="@color/itemnormal2"></item>
5 </selector>

隔行变色设置的颜色:

 <color name="itemnormal1">#F8F8F8</color>
 <color name="itemnormal2">#D8EBEF</color>
原文地址:https://www.cnblogs.com/1925yiyi/p/7472476.html