Desidero animare la modifica del padding di una vista. Il luogo di riposo dell'animazione della traduzione è lo stesso del padding che voglio applicare.Come si anima una modifica nel riempimento di una vista?
TranslateAnimation moveleft = new TranslateAnimation(Animation.ABSOLUTE, 0.0f,
Animation.ABSOLUTE, PADDING, Animation.ABSOLUTE,
0.0f, Animation.ABSOLUTE, 0.0f);
moveLeft.setDuration(500);
moveLeft.setFillAfter(true);
Questo avvia l'animazione della vista quindi imposta il riempimento. Questo non funziona esattamente perché causa un problema tecnico grafico.
v.startAnimation(moveleft);
v.setPadding(PADDING, 0, 0,0);
Ho già provato questa implementazione ma il risultato è stato un errore grafico simile. Tuttavia, ho trovato un modo per risolverlo. Ho chiamato '.clearAnimation()' nella vista animata prima di impostare il padding. Supponevo che il codice in ".onAnimationEnd()" fosse eseguito dopo che l'animazione era terminata. Questo non sembra essere il caso. –
Inoltre ho rimosso '.setFillAfter()'. –