我知道我们可以使用android:background="?android:attr/activatedBackgroundIndicator"
来确保在“激活”时突出显示视图。我在一些项目中使用过这个项目并且效果很好;但是,使用与以前非常相似的代码,似乎对我不起作用,因为通过ActionMode
选择时,不项将保持突出显示。
这是ListView项目:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/activatedBackgroundIndicator"
android:dividerPadding="16dp"
android:orientation="horizontal"
android:divider="?android:attr/dividerHorizontal"
android:showDividers="middle"
android:minHeight="64dp" >
<ImageView
android:id="@id/drag_handle"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center_vertical"
android:padding="8dp"
android:src="?attr/action_drag" />
<TextView
android:id="@+id/item_text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:ellipsize="marquee"
android:maxLines="2"
android:paddingRight="8dp"
android:paddingLeft="8dp"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
这是实际的ListView布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.lazybits.sidekick"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.mobeta.android.dslv.DragSortListView
android:id="@android:id/list"
android:drawSelectorOnTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:collapsed_height="2dp"
app:drag_enabled="true"
app:drag_handle_id="@id/drag_handle"
app:drag_scroll_start="0.33"
app:drag_start_mode="onDown"
app:float_alpha="0.6"
app:float_background_color="?attr/bg_drag_item"
app:max_drag_scroll_speed="0.5"
app:slide_shuffle_speed="0.3"
app:use_default_controller="true" />
<TextView
android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textSize="22sp"
android:gravity="center_vertical|center_horizontal"
android:text="@string/no_tasks" />
</LinearLayout>
请注意我确实尝试过使用android:drawSelectorOnTop="true"
,但没有任何区别。
ActionMode选择了正在选择项目的事实,因为我有一个Log事件告诉我,我设置ActionMode的标题以显示所选项目的数量;但是,即使它们被“激活”,这些项目也不会保持“突出显示”。
这是一个快速image的ActionMode工作,但项目没有突出显示。