2014-01-17 188 views
0

自定義背景我有ListView控件(派生JazzyListView)這是在我的活動主要佈局:創建列表視圖項

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/lib/com.toto.toto" 
android:id="@+id/main" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="@color/background" > 

<com.twotoasters.jazzylistview.JazzyListView 
    android:id="@+id/list" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true" 
    app:effect="cards" 
    app:max_velocity="0" 
    app:only_animate_fling="false" 
    app:only_animate_new_items="false" 
    /> 

</RelativeLayout> 

主要佈局設置彩色背景。

對於我的名單,我使用的物品用這個佈局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:padding="10dp" 
android:background="@color/item_background" > 

<TextView 
    android:id="@+id/name" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="15dp" /> 
... 

</RelativeLayout> 

這裏@色/ item_background有不一樣的值@顏色/背景。 所以我的主佈局有一個背景顏色特定和列表項目也。

根據該方法,當我點擊我的列表中的項目,沒有選擇的背景狀態,沒有選擇加我的名單上的經典背景。

會有人知道我可以創建自定義的選擇(也許?)或其他東西來爲我的項目自定義顏色,並且還當我點擊項目應用的經典選擇的背景效果?

感謝您的幫助。

西爾

回答

1

您首先需要創建,你將作爲背景列表項使用自定義選擇,類似於下面的內容:

item_background_selectable.xml (to be created in a drawable folder) 

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

    <item android:drawable="@android:color/item_background" /> 
</selector> 

然後使用自定義選擇在您的列表項佈局:

android:background="@drawable/item_background_selectable" 

希望這有助於;-)