我想在setVisibility上制作动画视图,但它仅适用于第一次

时间:2017-01-05 11:36:19

标签: android animation visibility

我已添加

postDelay

到我的回收站视图,可见性在android:animateLayoutChanges="true" 处理,如下所示,但只有在第一次点击时才有效。

onClick

我该怎么办?

3 个答案:

答案 0 :(得分:3)

android:animateLayoutChanges="true"

请将上述内容添加到XML的根目录中...

答案 1 :(得分:1)

通过代码尝试动画

rlOtherOptions.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            if (rvModeCheck.getVisibility() == View.GONE) {
                rvModeCheck.setVisibility(View.VISIBLE);
                rvModeCheck.setAlpha(0);
                rvModeCheck.animate().alpha(1).setDuration(300).setListener(null);

            } else {
                rvModeCheck.animate().alpha(0).setDuration(300).setListener(new Animator.AnimatorListener() {
                    @Override
                    public void onAnimationStart(Animator animation) {

                    }

                    @Override
                    public void onAnimationEnd(Animator animation) {
                        rvModeCheck.setVisibility(View.GONE);
                    }

                    @Override
                    public void onAnimationCancel(Animator animation) {

                    }

                    @Override
                    public void onAnimationRepeat(Animator animation) {

                    }
                });
            }
        }
    });

答案 2 :(得分:0)

尝试将此代码放在onCreateView方法中(如果它还没有。

可能需要在您的问题中添加更多信息/代码以获得更好的帮助。