我正在创建一个应用程序,其中有一个微调器,您可以从中选择4个选项中的一个。我想要它,以便如果你单击选项a图像,下面会绘制一个布局,如果你选择选项ba绘制不同的布局,我已经尝试将布局设置为不可见并使其成为当你选择一个主题时布局变得可见但问题是当我需要布局消失时它不会
这是我的代码,当我从微调器
中选择一个选项时,这个代码就会出现 if (pos == 1){
cooldown.setVisibility(0);
warmup.setVisibility(1);
}else if (pos == 2){
cooldown.setVisibility(1);
warmup.setVisibility(0);
}
我认为可见性是一个死胡同
答案 0 :(得分:2)
setVisibility()
的参数不应该是硬编码0或1.有常量。 VISIBLE
为0,INVISIBLE
为4,GONE
为8.传入1不会执行任何操作。
See here.
在您的情况下,您应该使用VISIBLE
和GONE
,因为INVISIBLE
仍会占用布局空间。
答案 1 :(得分:1)
这些不是visibility
的正确常量。尝试改为
if (pos == 1){
cooldown.setVisibility(View.VISIBLE);
warmup.setVisibility(View.INVISIBLE);
}else if (pos == 2){
cooldown.setVisibility(View.INVISIBLE);
warmup.setVisibility(View.VISIBLE);
}
如果这些是单张图像,那么这就是您想要的方式。如果它们完整Layouts
且有很多Views
,那么您可能会考虑使用Fragments
答案 2 :(得分:0)
我认为您应该使用 VISIBLE,INVISIBLE,GONE 而不是数字