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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我想在setVisibility上制作动画视图,但它仅适用于第一次相关的知识,希望对你有一定的参考价值。

我已经添加

android:animateLayoutChanges="true"     

我的回收站视图和可见性在onClick处理如下,但它只在第一次点击时有效。

rlOtherOptions.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(final View view) {
            if (rvModeCheck.getVisibility() == View.GONE) {
                rvModeCheck.setVisibility(View.VISIBLE);

            } else {
                rvModeCheck.setVisibility(View.GONE);
            }
        }
    });    

我该怎么办?

答案

android:animateLayoutChanges="true"

请将上面的内容添加到XML的根布局中...

另一答案

请尝试通过代码进行动画制作

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) {

                    }
                });
            }
        }
    });
另一答案

尝试将此代码放在onCreateView方法中(如果尚未安装)。

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

以上是关于我想在setVisibility上制作动画视图,但它仅适用于第一次的主要内容,如果未能解决你的问题,请参考以下文章

在视图动画时调用 setVisibility

如何修复适用于 SwiftUI 中文本的动画制作帧问题/错误?

如何在 StackView 内的两个视图之间进行动画处理?

为视图设置动画后 setVisibility 不起作用

使用 React JS 制作动画

iOS 使用动画块转换视图