2011-03-27 115 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鏈接瞭解更多詳情。