3

我知道我们可以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 的标题以显示所选项目的数量;但是,即使项目已“激活”,它们也不会保持“突出显示”。

这是 ActionMode 工作的快速图像,但未突出显示项目。

4

0 回答 0