2011-03-27 146 views
1

我可以使项目在交替的颜色显示在微调控制交替的颜色

+0

你的意思是交替或替代?如果你的意思是替代,那么你能说出你的意思吗? – 2011-03-27 03:48:57

回答

7

是的,你可以。如果你正在跟踪的Spinner Tutorial那么你也可以继承适配器(通过你的项目的List)产生一个交变的色彩效果:如果您已经定义自己的适配器和实施

ArrayAdapter<CharSequence> adapter = 
     new ArrayAdapter(this, R.layout.simple_spinner_item, myList) { 
    @Override 
    public View getDropDownView(int position, View convertView, ViewGroup parent) { 
     View view = super.getDropDownView(position, convertView, parent); 
     if (position % 2 == 0) { // we're on an even row 
      view.setBackgroundColor(evenColor); 
     } else { 
      view.setBackgroundColor(oddColor); 
     } 
     return view; 
    } 
} 

getDropDownView那么你可以添加像上面的东西到你的方法的结尾。

编辑 - 更新与污水的建议。谢谢!

+1

请注意,对于微调器下拉列表,您需要重写getDropDownView。对于微调器,getView会返回项目自身显示的视图。 getDropDownView用于使视图显示在列表中。 – slund 2011-03-27 04:00:34

+0

谢谢!我没有真正使用过Spinner,也不知道'getDropDownView'。我根据你的评论编辑了我的答案。 – 2011-03-27 04:07:24

+0

当我试图做什么建议我会得到以下错误 类型new ArrayAdapter (){}的方法getDropdowView(int,View,ViewGroup)必须覆盖或实现超类型方法 – Gainster 2011-03-28 03:13:45

1

您可以创建自定义适配器,并改变每个项目的颜色。看看this链接了解更多详情。