首页 > 解决方案 > xml 文件中的选择器标记与 SVG 存在一些问题

问题描述

我试图实现这一点,每当用户触摸图标时,它会将颜色更改为较暗的图标,我使用 PNG 完美地完成了它,但由于某种原因,它不再工作了,因为我使用了 SVG 文件:

过滤器图标.xml:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/filter_icon_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/filter_icon_pressed" />
    <item android:drawable="@drawable/filter_icon_static" />
</selector>

filter_icon_static.xml:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="130dp"
    android:height="130dp"
    android:viewportWidth="130"
    android:viewportHeight="130">
  <path
      android:pathData="M125,9L5,9a5,5 0,0 0,0 10L125,19a5,5 0,0 0,0 -10Z"
      android:fillColor="#13293d"/>
  <path
      android:pathData="M125,42.84L5,42.84a5,5 0,0 0,0 10L125,52.84a5,5 0,0 0,0 -10Z"
      android:fillColor="#13293d"/>
  <path
      android:pathData="M125,76.9L5,76.9a5,5 0,0 0,0 10L125,86.9a5,5 0,0 0,0 -10Z"
      android:fillColor="#13293d"/>
  <path
      android:pathData="M125,111L5,111a5,5 0,0 0,0 10L125,121a5,5 0,0 0,0 -10Z"
      android:fillColor="#13293d"/>
  <path
      android:pathData="M5,14.03a14,14.03 0,1 0,28 0a14,14.03 0,1 0,-28 0z"
      android:fillColor="#13293d"/>
  <path
      android:pathData="M102,47.85a14,14.03 0,1 0,28 0a14,14.03 0,1 0,-28 0z"
      android:fillColor="#13293d"/>
  <path
      android:pathData="M51,81.91a14,14.03 0,1 0,28 0a14,14.03 0,1 0,-28 0z"
      android:fillColor="#13293d"/>
  <path
      android:pathData="M85,115.97a14,14.03 0,1 0,28 0a14,14.03 0,1 0,-28 0z"
      android:fillColor="#13293d"/>
</vector>

一旦用户触摸它,我应该怎么做才能让过滤器图标的颜色发生变化?

标签: androidxmlsvg

解决方案


参考: http: //developer.android.com/training/material/animations.html

http://wiki.workassis.com/category/android/android-xml/

<ImageView
.
.
.
android:background="?attr/selectableItemBackgroundBorderless"
android:clickable="true"

推荐阅读