如何 show/hide 一个 view/layout on switch click in android?

How to show/hide a view/layout on switch click in android?

我正在创建一个设置 activity 用户是否能够 activate/deactivate 通知。现在我想 show/hide 单击切换按钮时的某些选项。我可以隐藏视图,但不知道如何再次显示?我在这里粘贴我的开关代码:

    notify.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
            if(b)
            {

                notifyMail.animate()
                        .translationY(0)
                        .alpha(0.0f)
                        .setListener(new AnimatorListenerAdapter() {
                            @Override
                            public void onAnimationEnd(Animator animation) {
                                super.onAnimationEnd(animation);
                                notifyMail.setVisibility(View.GONE);
                            }
                        });
                notifyPhone.animate()
                        .translationY(0)
                        .alpha(0.0f)
                        .setListener(new AnimatorListenerAdapter() {
                            @Override
                            public void onAnimationEnd(Animator animation) {
                                super.onAnimationEnd(animation);
                                notifyPhone.setVisibility(View.GONE);
                            }
                        });
                notifyHitcher.animate()
                        .translationY(0)
                        .alpha(0.0f)
                        .setListener(new AnimatorListenerAdapter() {
                            @Override
                            public void onAnimationEnd(Animator animation) {
                                super.onAnimationEnd(animation);
                                notifyHitcher.setVisibility(View.GONE);
                            }
                        });
                notifyDriver.animate()
                        .translationY(0)
                        .alpha(0.0f)
                        .setListener(new AnimatorListenerAdapter() {
                            @Override
                            public void onAnimationEnd(Animator animation) {
                                super.onAnimationEnd(animation);
                                notifyDriver.setVisibility(View.GONE);
                            }
                        });



            }
            else
            {
                notifyMail.animate().translationY(0);


            }
        }
    });

其余部分将在 else {} 中完成。提前致谢

您只需将其设置回可见状态即可。像这样 notifyDriver.setVisibility(View.VISIBLE);

直接打电话

notifyDriver.setVisibility(View.VISIBLE);

您隐藏了两次视图(可见性和 alpha 值)!

首先,您必须将视图设置为可见:

notifyDriver.setVisibility(View.VISIBLE);

此时视图可见,但透明,因为 alpha 值为 0。

所以你必须像以前一样将 alpha 值设置回 1:

notifyDriver.animate().alpha(1.0f);