【问题标题】:I want to animate view on setVisibility but it works only for the first time我想为 setVisibility 上的视图设置动画,但它仅第一次工作
【发布时间】:2017-05-19 22:31:54
【问题描述】:

我已经添加了

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);
            }
        }
    });    

我该怎么办?

【问题讨论】:

  • 你在找哪个动画?像 Alpha 一样,旋转,..
  • 你在看哪个动画
  • 发布完整的活动代码
  • 我想动画父布局下方缓慢扩展并出现recyclerView。在相对布局中添加了回收站视图。谢谢。

标签: android animation visibility


【解决方案1】:

android:animateLayoutChanges="true"

请在您的 XML 的根布局中添加上述内容...

【讨论】:

    【解决方案2】:

    尝试通过代码制作动画

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2023-03-28
        • 1970-01-01
        • 2012-05-16
        • 1970-01-01
        • 1970-01-01
        • 2021-09-25
        • 1970-01-01
        • 1970-01-01
        • 2021-08-22
        相关资源
        最近更新 更多