如何 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);
我正在创建一个设置 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);