我有一个 Activity,其中包含可以根据用户交互出现和消失的按钮和图像。
我发现后面的对象已设置为不可见,但仍然会触发点击,某种程度上。它们不会处理与被点击相关的代码,但它们会暂时重新出现,然后在被点击时立即再次消失。
它们似乎也在某种程度上干扰了放置在它们顶部的按钮。当它们后面有一个不可见的物体时,这些按钮有时会变得非常笨拙且难以点击。
我只是简单地使用:
object.setVisibility(View.VISIBLE);
和:
object.setVisibility(View.INVISIBLE);
让我的元素出现和消失。这不是我应该做的吗?
编辑:
人们一直要求我提供与他们给我的完全相同的代码。这是我得到的代码,我目前正在使用。
btnLifePlus5.setVisibility(View.GONE);
btnLifePlus5.setFocusableInTouchMode(false);
txtLifePlus5.setVisibility(View.GONE);
txtLifePlus5.setFocusableInTouchMode(false);
btnLifePlus1.setVisibility(View.GONE);
btnLifePlus1.setFocusableInTouchMode(false);
txtLifePlus1.setVisibility(View.GONE);
txtLifePlus1.setFocusableInTouchMode(false);
btnLifeMinus5.setVisibility(View.GONE);
btnLifeMinus5.setFocusableInTouchMode(false);
txtLifeMinus5.setVisibility(View.GONE);
txtLifeMinus5.setFocusableInTouchMode(false);
btnLifeMinus1.setVisibility(View.GONE);
btnLifeMinus1.setFocusableInTouchMode(false);
txtLifeMinus1.setVisibility(View.GONE);
txtLifeMinus1.setFocusableInTouchMode(false);
这与将它们设置为不可见没有区别。
最佳答案
使任何 View
不可见不会阻止我们触发它们的监听器。只是你看不到它,其他一切都和它是可见的一样。
如果您根本不想使用它,请将其更改为 View.GONE
View.INVISIBLE
和 View.GONE
的区别:当对象设置为 时,不可见对象继续使用分配给它的空间>View.GONE
会离开空间空间,就好像它不在屏幕上一样。
使用
object.setVisibility(View.GONE);
而不是
object.setVisibility(View.INVISIBLE);
关于Android:不可见的对象仍然可以点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32140625/