2012-01-28 56 views
1

我想爲每一行添加漸變。我試圖做的是在listview標籤把這個attribut,android:background =「@ drawable/mygradient」。但我得到的是這個漸變顯示在列表中。我想要的是爲每個項目顯示此漸變。Android:ListView爲每一行添加漸變

在此先感謝

+0

你使用自定義的listview嗎?嘗試過的代碼可能有助於給出答案,發佈代碼 – Abhi 2012-01-28 11:43:03

+0

沿着列表顯示..如何看待?你可以張貼截圖嗎? – 2012-01-28 11:43:18

回答

1

您可以提供自定義適配器您列表視圖並將梯度設置爲其getView方法中的背景。事情是這樣的:

public class MyAdapter extends BaseAdapter { 
    List<MyDataType> myData; 
    Context context; 

    public MyAdaptor(Context ctx, List<MyDataType> myData) { 
     this.myData = myData; 
     this.context = ctx; 
    } 

    public int getCount() { return myData.size() }; 
    public Object getItem(int pos) { return myData.get(pos); } 
    public long getItemId(int pos) { return 0L; } 

    public View getView(int pos, View convertView, ViewGroup parent) { 
     //this is where you can customise the display of an individual 
     //list item by setting its background, etc, etc. 

     ... 

     //and return the view for the list item at the end 
     return <List item view>; 
    } 
} 

然後你就可以把這個適配器作爲適配器列表:

ListView myList = <initialise it here> 
myList.setAdapter(new MyAdapter(getContext(), listData); 

現在只要一個列表項需要顯示,getView方法將被調用,在那裏你」將執行所有必要的顯示定製,包括設置背景。

+0

它已經花了我2天,但最終我設法做到了。我不習慣自定義適配器,所以它很困難。無論如何,感謝您的幫助,它非常有用。 – user1139368 2012-01-30 21:44:29

+0

並且一年多之後它仍然沒有被標記爲答案= / – 2013-06-28 18:46:18

0

相反名單的設置背景屬性設置選擇,如下:

機器人:listSelector =「@繪製/ list_selector_background」

+0

這似乎只有在選擇某個項目時才起作用。 – sdasdadas 2013-03-01 02:58:31