Android меняет цвет при наведении мыши на вид карты - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь изменить цвет моей карты, когда кто-то нажимает на нее.До сих пор я пытался использовать этот код ниже:

 //drawable/selector.xml
<?xml version="1.0" encoding="utf-8"?>
   <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_pressed="true"android:drawable="@color/button_pressed"/> <!-- pressed -->
   <item android:state_focused="true" android:drawable="@color/button_focused"/> <!-- focused --> 
  <item android:drawable="@color/button_default"/> <!-- default -->
</selector>

Это мой код селектора, он отлично работает, когда я использую его в коде кнопки ниже:

<Button
  android:id="@+id/button1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="@drawable/selector"
  android:text="Click Me"
 />

Я пытаюсьсделать это в представлении карты. Я ничего не вижу в представлении карты. Я использую селектор вот так:

  <android.support.v7.widget.CardView
    android:foreground="?android:attr/selectableItemBackground"
    android:clickable="true"
    android:layout_width="170dp"
    android:layout_height="150dp"
    android:layout_margin="4dp"
    android:onClick="economy"
    android:background="@drawable/selector"
    >
   </android.support.v7.widget.CardView>

Моя карта кликабельна, мой вопрос, могу ли я сделать это в представлении карты

1 Ответ

0 голосов
/ 21 мая 2018

У Cardview есть ограничение на изменение фона с помощью селектора. Если вы все еще хотите это сделать.Вы можете применить селектор на переднем плане.

<android.support.v7.widget.CardView
   android:foreground="@drawable/selector"  // change
    android:clickable="true"
    android:layout_width="170dp"
    android:layout_height="150dp"
    android:layout_margin="4dp"
    android:onClick="economy"
    >
   </android.support.v7.widget.CardView>

И добавить альфа-канал к цвету (например: # 55FFFFFF), который вы применяете к селектору, чтобы содержимое карты было видно.Это не идеально, но зависит от вашего ожидаемого результата.

...