正确的方式在自定义ViewGroup中动画孩子



我正在构建一个自定义的ViewGroup,它将一堆孩子安排在特定位置。

在一个特定的触发器(比如外部按钮按下),子动画到新的位置。我尝试这样做的方式是通过启动一个计时器,并在每个计时器更新,计算新的位置,然后调用requestLayout()

当我这样做时,动画会有点抖动。有没有更有效的方法?

有什么正确的步骤是做自定义重排子视图的想法吗?

你应该像这样实现一个AnimationListener:

Animation anim = AnimationUtils.loadAnimation(R.android.anim.slide_in_left);
anim.setAnimationListener(listener);
view.startAnimation(anim);
private AnimationListener imageViewAnimationListener = new AnimationListener() //
{
    @Override
    public void onAnimationEnd(Animation arg0) //
    {
    }
    @Override
    public void onAnimationRepeat(Animation arg0) //
    {
    }
    @Override
    public void onAnimationStart(Animation arg0) //
    {
    }
};

希望这对你有帮助!

最新更新