0

linearLayout在可展开的回收站视图中有一个展开更多图标

展开箭头图标

我想当点击 linearLayout 时,点击布局会展开,这个图标会像下面一样随着动画旋转 180 度 -

在此处输入图像描述

这是我的操作代码:

rotationAngle = rotationAngle == 0 ? 180 : 0;
expandArrow.animate().rotation(rotationAngle).setDuration(500).start();

whererotationalAngle=0;是全局声明的。

你能给我一个合适的解决方案吗?

4

2 回答 2

0
ImageV.animate().rotation(isExpanded()? -180 : 0  )
                        .setInterpolator(new SineInOut60())
                        .setDuration(2000)
                        .withLayer();
于 2021-04-14T09:52:09.050 回答
0

动画完成后,您可以使用 AnimationListener 设置新的 Drawable:

expandArrow.animate().setListener(new Animator.AnimatorListener() {
        @Override
        public void onAnimationStart(Animator animator) {
            
        }

        @Override
        public void onAnimationEnd(Animator animator) {
            expandIcon.setImageResource(R.drawable.arrow_up);
        }

        @Override
        public void onAnimationCancel(Animator animator) {

        }

        @Override
        public void onAnimationRepeat(Animator animator) {

        }
    }).rotation(rotationAngle).setDuration(500).start();
于 2020-07-27T05:58:22.323 回答