利用基於State List Selector
下面的代碼的組行我成功當用戶按下它在顯示屏上要突出一個ExpandableListView
的一個子行:如何突出一個ExpandableListView
XML態選擇代碼:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:state_pressed="true"
android:drawable="@color/highlighted_entry" />
<item
android:state_selected="true"
android:drawable="@color/highlighted_entry" />
<item android:drawable="@color/transparent" />
</selector>
XML ExpandableListView佈局代碼:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10dp"
android:background="@drawable/exp_list_entry_selector"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp" >
<TextView android:id="@+id/exp_list_entry_title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:textStyle="bold"
android:textSize="12dp"
android:textColor="#000000"
/>
</LinearLayout>
Java代碼:
@Override
public boolean onChildClick( ExpandableListView parent, View v,
int groupPosition, int childPosition, long id)
{
v.setSelected(true);
return false;
}
如果我試圖彰顯集團行(ListView
的條目是可擴展)同樣的方法將不起作用:當用戶按下它,它會得到突出顯示(和展開或摺疊它的孩子),但釋放它後,背景顏色將恢復正常。
無論擴展與否,我如何突出顯示組行?
[Rü刻意突出的點擊expandlist,我的意思是做u需要用戶KNW該名單已經被點擊 – Rakshi 2012-08-06 10:49:13
@Rakshi - 是的,我需要突出顯示列表的條目,而不管它是子行還是父行,因爲用戶可能需要對其執行一些操作。有任何想法嗎? – Matteo 2012-08-06 10:52:43
你嘗試添加一個像向下箭頭的圖像,以便用戶可以知道它是一個擴展列表。 – Rakshi 2012-08-06 11:03:26