2010-09-13 7 views
1

J'essaye de faire un effet d'animation de barre de jauge de temporisation:Android, View width change animation?

La largeur d'une longue image bitmap colorée est décroissante, mais pas x-scaling. Ainsi, l'image ne semble pas changer et la zone visible se rétracte.

Je n'ai pas trouvé le seul support de masquage ou de masquage ImageView dans Android.

Et j'ai réussi à obtenir l'effet de découpage en entourant le ImageView en ViewGroup aime:

<FrameLayout android:id="@+id/shrink_box" ...> 
    <ImageView android:src="@drawable/still_image" ...> 
</FrameLayout> 

puis en changeant la largeur de la shrink_box coupera la partie de la still_image.

Mais j'ai échoué à modifier la largeur de la vue en douceur. J'ai essayé de modifier LayoutParam.width dans applyTransformation() mais j'ai obtenu une exception, elle ne semble pas autorisée.

Comment puis-je créer une animation qui modifie la largeur de la vue. OU existe-t-il une méthode appropriée pour obtenir l'effet ci-dessus?

Répondre

1

Vous essayez de réinventer la roue ici, utilisez simplement un ProgressBar et réglez la progression de votre image. Dans votre mise en page XML, donnez au ProgressBar ce style pour en faire une barre réelle plutôt qu'une roue

style="@android:style/Widget.ProgressBar.Horizontal"