2013-01-17 138 views
1

我能夠使用自定義適配器來設置列表視圖,該適配器顯示正確的output.each列表項也有漸變樣式請參閱下面的drawable.xml如何將項目背景更改爲其他點擊任何一個漸變。我可以爲每個項目設置不同的漸變效果嗎?用漸變繪製改變點擊ListView項的顏色可繪製

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<gradient 
android:startColor="#FFFAFAFA" 
android:centerColor="#FFFFFFFF" 
android:endColor="#FFFAFAFA" 
android:angle="90"/> 
</shape> 

我的文件...

activity_main.xml中....主要XML文件

MainActivity.java ....主要活動

Item.java ....項目選擇方法

ItemAdaptor ....自定義適配器

list_item.xml .....項目(textV IEW)造型

回答

0

我與

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
... 
android:background="@drawable/listitem_states" > 

與RES /價值/ listitem_states.xml攻顏色變化:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:state_selected="true" 
    android:drawable="@color/listitem_active_color" ></item> 
<item 
    android:state_pressed="true" 
    android:drawable="@color/listitem_active_color" ></item> 
<item 
    android:drawable="@color/listitem_bg_color" /> 
</selector> 

我想你可以很容易適應,對於梯度。

0

嘗試這樣的..

在繪製

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- Selector style for listrow --> 

    <item 
    android:state_selected="false" 
     android:state_pressed="false" 
     android:drawable="@drawable/gradient_bg" /> 

    <item android:state_pressed="true" 
     android:drawable="@drawable/gradient_bg_hover" /> 

    <item android:state_selected="true" 
    android:state_pressed="false" 
     android:drawable="@drawable/gradient_bg_hover" /> 
</selector> 

添加這種添加在佈局

<ListView 
     android:id="@+id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:divider="#FFFFFF" 
     android:dividerHeight="1dp" 
     android:listSelector="@drawable/list_selector" />