Ok, donc j'ai vérifié http://android-developers.blogspot.com/2011/02/animation-in-honeycomb.htmlObjectAnimator animation LinearLayout largeur
Il dit que vous pouvez animer la propriété d'un objet dans un temps donné. Et j'ai essayé de déplacer des objets et ça a l'air bien. J'ai rencontré un problème quand je suis allé changer la largeur d'un LinearLayout. Je suis arrivé ceci:
10-26 14:51:27.190: E/PropertyValuesHolder(12681): Couldn't find setter/getter for property width with value type float
Alors j'ai essayé étendre LinearLayout, avec "myWidth"
public void setMyWidth(int myWidth) {
LinearLayout.LayoutParams params = (LayoutParams) getLayoutParams();
params.weight = myWidth;
setLayoutParams(params);
requestLayout();
this.myWidth = myWidth;
}
Pas de chance. Ensuite, j'ai essayé de changer LayoutParams.width, il s'avère que la largeur et la hauteur sont les seules propriétés publiques dans l'histoire java, et ObjectAnimator a besoin de getter et setter. Pas de chance. Je suis gêné de dire que j'ai essayé d'étendre LayoutParams aussi ... sans aucune chance ofc.
Quelqu'un a-t-il réussi à faire une telle chose? J'ai utilisé vieux android.view.animation et j'ai eu ce que je voulais, mais je suis curieux pour l'avenir.
Malheureusement, j'ai un problème similaire. Au lieu d'animer la largeur, j'ai essayé d'animer le weightSum (qui a un getter/setter) pour obtenir le même effet. Peut-être que vous pouvez essayer quelque chose de similaire pour atteindre ce que vous voulez, mais je ne peux pas le faire fonctionner: http://stackoverflow.com/questions/8341745/animating-weightsum-property-using-objectanimator. Je vous tiendrai au courant si j'ai des résultats – Entreco