【发布时间】:2012-08-06 10:42:14
【问题描述】:
使用基于State List Selector 的以下代码,当用户在显示屏上按下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 的条目),同样的方法将不起作用:当用户按下它时它会突出显示(并展开或折叠它的子项),但之后松开它,背景颜色将恢复正常。
无论是否展开,如何突出显示组行?
【问题讨论】:
-
你试图在点击时突出显示展开列表,我的意思是你需要用户知道点击了哪个列表
-
@Rakshi - 是的,我需要突出显示列表的条目,无论它是子行还是父行,因为用户可能需要对其执行一些操作。有什么想法吗?
-
您尝试添加一个像向下箭头一样的图像,以便用户知道它是一个扩展列表..
-
你有什么想法吗?
标签: java android listview android-layout expandablelistview