Mon TranslateAnimation personnalisé déplace une vue verticalement. C'est bien d'ailleurs un étrange scintillement court au début. Il semble que ce n'est qu'un seul cadre visible si la vue clignote à une position inattendue (beaucoup plus haut que l'animation devrait commencer).Personnalisation TranslateAnimation provoque scintillement
Note: Ce scintillement ne se produit pas lorsque j'appelle super (0,0,0,0) mais il n'y a pas d'animation.
Voici une version courte de mon code:
public class ExTranslateAnimation extends TranslateAnimation implements AnimationListener
{
private View myView;
public ExTranslateAnimation (...)
{
// delta is how much it gets moved
super(0, 0, -delta, 0);
this.setAnimationListener(this);
this.setDuration(duration);
toY = view.getTop() + delta;
myView = view;
}
@Override
public void onAnimationEnd(Animation animation)
{}
@Override
public void onAnimationRepeat(Animation animation)
{}
@Override
public void onAnimationStart(Animation animation)
{
LayoutParams lp = (LayoutParams) myView.getLayoutParams();
lp.leftMargin = toX;
lp.topMargin = toY;
myView.setLayoutParams(lp);
myView.layout(toX, toY, 0, 0);
}
}
Oui Je suis confronté à ce problème sur l'appareil. Je n'ai probablement pas besoin de l'essayer dans l'émulateur car il n'aura pas assez de puissance pour gérer beaucoup d'animations. Comment avez-vous résolu ce problème? – ShadowMare
Cela n'arrivera pas sur l'émulateur .... C'est le problème de la mémoire. Dans mon cas, j'ai réduit la quantité de mémoire utilisée. – Angel
hmm Je vais jeter un oeil où je peux améliorer ma consommation de mémoire, mais il ne devrait pas être aussi élevé de toute façon. – ShadowMare