activBackgroundIndicator не работает с элементом ListView
Я знаю, что мы можем использовать 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, но элементы не выделяются.