propertyValuesHolder
とobjectAnimator
をXMLで定義したアニメーションで使用しようとしています。XMLで定義されたアニメーションでPropertyValuesHolderがクラッシュする場合
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:repeatCount="1"
android:repeatMode="reverse">
<propertyValuesHolder android:propertyName="x" android:valueTo="400"/>
<propertyValuesHolder android:propertyName="y" android:valueTo="200"/>
</objectAnimator>
私はロードし、アニメーションを開始するには、次のコードを使用しています:私はそれをロードすると、実行時例外が理由Unknown animator name: propertyValuesHolder
これはObjectAnimator
ドキュメントhereから直接取得フルアニメーションであるとスローされます:
Animator animator = AnimatorInflater.loadAnimator(getApplicationContext(), R.animator.example);
animator.setTarget(view);
animator.start();
私はスタックトレースから取得する原因はこれです:
Caused by: java.lang.RuntimeException: Unknown animator name: propertyValuesHolder
at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:592)
at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:551)
at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:122)
at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:102)
at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:87)
これは、propertyValuesHolder
が含まれていないアニメーションを使用する場合に機能します。私はそのタグがXMLで使われているどこの例もオンラインで見つけることができません。間違ったことをしているのですか、それともうまくいかないのですか?
@Shadow Droidあなたのリンク404。 'それに応じてコードを変更する'何に基づいて? ValueAnimatorページの2番目の例では、同じクラッシュを引き起こすXML定義の 'propertyValuesHolder'があります – Harkin
前のコメントにリンクを適切に入れないと申し訳ありません。http://developer.android.com/reference/android/animation/ValueAnimator .html私はあなたがPropertyValuesHolderをどのような目的で使用しているのではないのですか?実際はAnimatorSetを避けてコードを読みやすくするために使用されています... http://android-developers.blogspot.in/2011/05/introducing -viewpropertyanimator.html –
私はそれが目的であると理解しています。そのような場合(上記の例では、オブジェクトのxとyのプロパティを1秒間アニメーション化するために使用しています)。私は、プログラムで定義されていないXMLで定義されたアニメーションでこれを実行しようとしています。これは、ドキュメントの例(リンク先とリンク先)にありますが、XMLファイルからロードしようとすると例外がスローされます – Harkin