Sto provando a utilizzare propertyValuesHolder
con uno objectAnimator
in un'animazione che ho definito in XML. Quando carico un'eccezione di runtime viene lanciata con la ragione Unknown animator name: propertyValuesHolder
PropertyValuesHolder provoca un arresto anomalo se utilizzato nell'animazione definita XML
Questa è l'animazione completa preso direttamente dai ObjectAnimator
docs here:
<?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>
Sto utilizzando il seguente codice per caricare e avviare l'animazione :
Animator animator = AnimatorInflater.loadAnimator(getApplicationContext(), R.animator.example);
animator.setTarget(view);
animator.start();
la causa ricevo dal stacktrace è questo:
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)
Questo funziona quando utilizzo un'animazione che non contiene uno propertyValuesHolder
. Non riesco a trovare alcun esempio online in cui quel tag sia usato in XML. Sto facendo qualcosa di sbagliato o semplicemente non funziona?
@Shadow Droid Il tuo link 404s. 'Cambia il codice di conseguenza' in base a cosa? Il secondo esempio sulla pagina ValueAnimator ha un 'propertyValuesHolder' definito in XML che causerà lo stesso crash – Harkin
Ci scusiamo per non aver inserito correttamente il link nel commento precedente. Http://developer.android.com/reference/android/animation/ValueAnimator .html Non mi interessa per quale scopo stai usando PropertyValuesHolder ... ma è effettivamente usato per evitare AnimatorSet e rendere leggibile il codice ... controlla questo link http://android-developers.blogspot.in/2011/05/introducing -viewpropertyanimator.html –
Capisco che sia uno scopo e lo sto usando per tale (nell'esempio sopra per animare le proprietà x e y di un oggetto per una durata di 1 secondo). Sto cercando di farlo in un'animazione definita in XML, non definita in modo programmatico. Questo dovrebbe essere possibile in quanto vi sono esempi di questo nei documenti (quello a cui mi collego e quello a cui ci si collega) ma viene generata un'eccezione quando provo a caricarlo dal file XML – Harkin