Как я могу иметь пульсации на клике и другой передний план на выбранном просмотре карты?
У меня есть несколько CardView
в ListView
, Эти карточки могут быть выбраны. При нажатии я хочу отобразить ripple
, Когда выбрано, я хочу изменить foreground
, На данный момент одна из двух работ. Как я могу заставить их работать одновременно?
Я пробовал все виды разных версий. С маской и без, устанавливая все состояния и только одно. Проблема в том, что возможны 4 результата.
1: ничего не показано
2: показана только пульсация
3: только передний план меняет цвет после выбора карты
4: пульсация отображается, но передний план меняет цвет даже при нажатии и не изменяется обратно, когда он не выбран.
ListView
вещь:
<android.support.v7.widget.CardView
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="280dp"
app:cardElevation="4dp"
app:cardCornerRadius="4dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:foreground="@drawable/rowselector"
>
Файл rowselector.xml:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="#20000000">
<item android:drawable="@drawable/card_foreground_selector" />
</ripple>
файл card_foreground_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<shape android:shape="rectangle">
<solid android:color="#aae3f7ee" />
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="rectangle">
<solid android:color="#aae3f7ee" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<solid android:color="#00000000" />
</shape>
</item>
</selector>
Я думал, что это будет показывать пульсацию при нажатии и другой foreground
цвет, когда CardView
долго нажимается / выбирается. ripple
в настоящее время отсутствует.
1 ответ
Как насчет попытки:
clickable = true
? андроид: атр /selectableItemBackground
Чтобы эффект ряби был применен к фону при использовании переднего плана для изменения цвета после выбора элемента?
<android.support.v7.widget.CardView
android:id="@+id/card"
android:layout_width="match_parent"
android:layout_height="280dp"
app:cardElevation="4dp"
app:cardCornerRadius="4dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:clickable="true"
android:background="?android:attr/selectableItemBackground"
android:foreground="@drawable/card_foreground_selector">