1

アニメーションベクターが機能しない理由がわかりません。私は最初のパスを見ることができますが、最初のパスへの追加としてアニメートしたい2番目のパスは表示されません。これは私のコードがどのように見えるかです:アニメーションベクター描画可能アニメーションが機能しない

<?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, 0M6,11 l3.5, 4 l8, -7

画面に表示されないが、私はGoogleドキュメントhereの底から例をコピーしようと、それは仕事をしました。アニメーションが正しく開始されることを示すコードを使用すると、私のファイルが正しくアニメーション化されます。これは誤植ですか、私のパスデータに間違っていますか?

答えて

1

新しいプロジェクトで私のドロウアブルをテストしたところ、うまくいきました。

私は最初のプロジェクトでcom.android.support:design:25.1.0を使用していましたが、それが悪化してcom.android.support:design:24.2.0になったことが判明しました。

もう少しテストした後、私は私のImageViewapp:srcCompat="@drawable/animated_vector"からandroid:src="@drawable/animated_vector"に変更すると、それは同様にcom.android.support:design:25.1.0のために働かせたことがわかりました。

私は何が起こっているのかわからないが、今は少なくとも動作する。誰かがこれに関する詳細を持っているなら私に知らせてください。私たちは、ベクトルドロアブルのためにを使用すると考えていました。

+0

'app:srcCompat'の代わりに' android:src'を使うと、実際にサポートライブラリをバイパスしているので、バージョンはまったく関係ありません。ただし、サポートライブラリを使用しないと、Drawableが21以下のAPIでクラッシュするので注意してください。 –

関連する問題