Ich möchte die Elemente in einem RecyclerView Touch-Feedback oder Wellen wenn gedrückt, aber sie scheinen nicht zu arbeiten, und ich denke, es ist wegen der Checkbox.RecyclerView Element zeigt keine Wellen/Touch-Feedback, wenn der Artikel eine Checkbox hat
Die Welligkeit wird nur angezeigt, wenn Sie lange drücken, aber ein einfacher Druck zeigt sie nicht an.
Darf mir jemand helfen, es zu reparieren? Danke im Voraus.
PD: Ich habe eine ListView verwendet, und das Element Layout Eltern war ein LinearLayout. Die Wellen funktionierten gut. Nach dem Wechsel zu RecyclerView funktionieren die Welligkeiten der Elemente nicht. Ich habe es mit dem LinearLayout nochmal versucht, funktioniert aber immer noch nicht.
Hier ist die Layout-Datei
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/requestCard"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?android:attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:descendantFocusability="blocksDescendants"
android:orientation="horizontal">
<ImageView
android:id="@+id/imgIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:adjustViewBounds="true"
android:maxHeight="64dp"
android:maxWidth="64dp"
android:padding="@dimen/lists_padding"
android:src="@drawable/ic_launcher"
tools:ignore="ContentDescription"/>
<TextView
android:id="@+id/txtName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toEndOf="@+id/imgIcon"
android:layout_toRightOf="@+id/imgIcon"
android:ellipsize="end"
android:maxLength="@integer/request_text_length"
android:maxLines="1"
android:padding="@dimen/lists_padding"
android:textSize="@dimen/abc_text_size_large_material"
tools:text="App Name"/>
<CheckBox
android:id="@+id/chkSelected"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:clickable="false"
android:padding="@dimen/lists_padding"/>
</RelativeLayout>
Hinzufügen android: demcendantFocusability = "blocksDescendants" in das Wurzelelement Ihres Artikels. –
@GabrielMariotti bereits getan. Funktioniert immer noch nicht. Aktualisierte Layoutdatei –
Ich bin nicht ganz sicher, aber das könnte passieren, weil die Ansichten in der Viewgroup Ihren Welleneffekt abdecken. Es ist also da, aber Sie können es nicht sehen. Also habe ich am Ende eine extra einfache Ansicht (mit Match_Parent Breite und Höhe) speziell für Ripple hinzugefügt. Vielleicht möchten Sie es versuchen. –