如何在可见的两个视图之间切换?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在可见的两个视图之间切换?相关的知识,希望对你有一定的参考价值。
我正在开发一个有助于打乒乓球比赛的应用程序。我现在处于最后阶段,但是每两点切换一次服务器时遇到麻烦。我已经考虑了很多,但只能切换一次。我知道这可能是一个简单的解决方案,但它并不是我想要的。
这里是我切换一次的方法。每次按下按钮时,我都会使用一个计数,当它达到一个可被2整除的数字时,它会切换到右侧。提前致谢。
public void serveSwitch() {
TextView leftServe = findViewById(R.id.leftServe);
TextView rightServe = findViewById(R.id.rightServe);
serverCount++;
if (server.serve=="left") {
if (serverCount % 2 == 0) {
rightServe.setVisibility(View.VISIBLE);
leftServe.setVisibility(View.GONE);
}
}
答案
我苦苦挣扎的部分是如何每两点切换可见性的逻辑
如果我的观点正确,您希望将可见性从每两个点切换为关闭,反之亦然
您可以执行以下操作:
...
if (server.serve=="left") {
if (serverCount % 2 == 0) {
switch (rightServe.getVisibility()) {
case View.GONE:
rightServe.setVisibility(View.VISIBLE);
break;
case View.VISIBLE:
rightServe.setVisibility(View.GONE);
break;
}
switch (leftServe.getVisibility()) {
case View.GONE:
leftServe.setVisibility(View.VISIBLE);
break;
case View.VISIBLE:
leftServe.setVisibility(View.GONE);
break;
}
}
}
注意:我按原样保留了相等性,就像您说的那样没有问题。但通常在比较Java中的字符串时,应使用.equals()
。
以上是关于如何在可见的两个视图之间切换?的主要内容,如果未能解决你的问题,请参考以下文章