在自定义ViewGroup中实现子视图动画的正确方法

4
我正在构建一个自定义的ViewGroup,用于安排一组子视图的特定位置。
在特定触发器(比如外部按钮按下)时,子视图会动画到新位置。我尝试的方法是启动计时器,在每次计时器更新时计算新位置,然后调用requestLayout()
但是这样做动画有些抖动。有没有更有效的方法?
您有什么关于自定义重新排列子视图的正确步骤的想法吗?
1个回答

0
你应该像这样实现一个 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) //
    {
    }
};

希望这能帮到你!


这会起作用。我认为在动画结束时需要与requestLayout一起调用它。 - Arpit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接