1

Я не могу понять, почему мой Анимированный вектор не работает. Я вижу первый путь, но второй путь, который я хочу оживить как дополнение к первому пути, не отображается. Это как мой код выглядит следующим образом:Анимированная анимация в векторном формате Анимация не работает

<?xml version="1.0" encoding="utf-8"?> 
<animated-vector 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:aapt="http://schemas.android.com/aapt"> 

    <aapt:attr name="android:drawable"> 
     <vector 
      android:height="24dp" 
      android:width="24dp" 
      android:viewportHeight="24.0" 
      android:viewportWidth="24.0" > 

      <path 
       android:name="v" 
       android:strokeColor="#000000" 
       android:strokeWidth="3" 
       android:pathData="M6,11 l3.5, 4 l0, 0" /> 
     </vector> 
    </aapt:attr> 

    <target android:name="v" > 
     <aapt:attr name="android:animation"> 
      <set> 
       <objectAnimator 
        android:duration="1000" 
        android:propertyName="pathData" 
        android:valueFrom="M6,11 l3.5, 4 l0, 0" 
        android:valueTo="M6,11 l3.5, 4 l8, -7" 
        android:valueType="pathType"/> 
      </set> 
     </aapt:attr> 
    </target> 
</animated-vector> 

Итак, M6,11 l3.5, 4 l0, 0 показывает на экране, но не M6,11 l3.5, 4 l8, -7

Я попробовал Скопируйте пример из нижней части Документов Google here и сделал работу. Мой файл анимирован правильно, если я использую их код, который говорит мне, что я правильно запускаю анимацию. Это опечатка или что-то не так с данными моего пути?

ответ

1

Я проверил свои возможности в новом проекте, и, к моему удивлению, он отлично работал.

Я использовал com.android.support:design:25.1.0 в своем первом проекте, и он оказался унизительным к com.android.support:design:24.2.0, заставив его работать.

После тестирования немного больше я обнаружил, что переход от app:srcCompat="@drawable/animated_vector" к android:src="@drawable/animated_vector" на моем ImageView сделал это работать com.android.support:design:25.1.0, а также.

Я не уверен, что происходит, но теперь он работает как минимум. Если у кого-то есть более подробная информация об этом, пожалуйста, дайте мне знать. Я думал, что мы предположительно используем srcCompat для векторных чертежей.

+0

Используя 'android: src' вместо' app: srcCompat', вы фактически обходите библиотеку поддержки, поэтому ее версия не имеет отношения к действительности. Однако будьте осторожны, не используя библиотеку поддержки, ваш drawable будет сбой по API ниже 21. –