Собственная TranslateAnimation вызывает мерцание - PullRequest
0 голосов
/ 04 апреля 2011

Мой пользовательский TranslateAnimation перемещает представление по вертикали.Это хорошо, кроме странного короткого мерцания в начале.Кажется, что это только один видимый кадр, в котором вид мигает в неожиданной позиции (намного выше, чем должна начинаться анимация).

Примечание. Мерцание не происходит, когда я вызываю super (0,00,0) но тут анимации нет.

Вот краткая версия моего кода:

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);      
    }
}

1 Ответ

1 голос
/ 04 апреля 2011

Это происходит на эмуляторе или устройстве .. потому что я однажды столкнулся с той же проблемой, но это было только в случае устройства. На эмуляторе все работало нормально.

...