繁体   English   中英

我如何知道animateLayoutChanges何时完成?

[英]How can I tell when the animateLayoutChanges has completed?

我通过将animateLayoutChanges添加到XML中来利用LinearLayout的自动化(内置)动画。

很好。

但是,当我将Animation.AnimationListener附加到该LinearLayout时,它永远不会触发。 因此,我对于应该附加哪个侦听器,也许应该附加其侦听器感到困惑,以便确定给定的过渡动画何时完成。

所以..我有这是:

       LinearLayout productsList = (LinearLayout)findViewById(R.id.pList);

       productsList.setLayoutAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
            Log.d(TAG, "animation started");
        }

        @Override
        public void onAnimationEnd(Animation animation) {
            Log.d(TAG, "animation ended");
        }

        @Override
        public void onAnimationRepeat(Animation animation) {
            Log.d(TAG, "animation repeated");
        }
    });

动画按预期播放,但我的日志均未写入。

我必须将自己的自定义动画添加到布局中才能正常工作,还是我遗漏了明显的东西?

尝试这个:

productsList.getLayoutTransition().addTransitionListener(new LayoutTransition.TransitionListener() {
    @Override
    public void startTransition(LayoutTransition transition, ViewGroup container, View view, int transitionType) {

    }

    @Override
    public void endTransition(LayoutTransition transition, ViewGroup container, View view, int transitionType) {

    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM