我想在 setVisibility 上为视图设置动画,但它只在第一次使用

I want to animate view on setVisibility but it works only for the first time

我添加了

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...

的根布局

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

您的问题可能需要再添加一些 information/code 以获得更好的帮助。

尝试通过代码制作动画

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

                    }
                });
            }
        }
    });