Java 如何更改正在显示的布局
我正在制作一个应用程序,其中有一个微调器,您可以选择4个选项中的1个。我希望这样,如果您单击选项a,图像a的布局就会在下面绘制,如果您选择选项b,则会绘制不同的布局。我已尝试将布局设置为不可见,并将其设置为当您选择主题时,该布局会变为可见,但问题是当我需要该布局消失时,它不会消失 这是我的代码,当我从微调器中选择一个选项时,这段代码只是使两者都出现Java 如何更改正在显示的布局,java,android,android-layout,spinner,Java,Android,Android Layout,Spinner,我正在制作一个应用程序,其中有一个微调器,您可以选择4个选项中的1个。我希望这样,如果您单击选项a,图像a的布局就会在下面绘制,如果您选择选项b,则会绘制不同的布局。我已尝试将布局设置为不可见,并将其设置为当您选择主题时,该布局会变为可见,但问题是当我需要该布局消失时,它不会消失 这是我的代码,当我从微调器中选择一个选项时,这段代码只是使两者都出现 if (pos == 1){ cooldown.setVisibility(0); warmup
if (pos == 1){
cooldown.setVisibility(0);
warmup.setVisibility(1);
}else if (pos == 2){
cooldown.setVisibility(1);
warmup.setVisibility(0);
}
我认为setvisibility是一个死胡同这些不是
可见性的正确常数
。试试看
if (pos == 1){
cooldown.setVisibility(View.VISIBLE);
warmup.setVisibility(View.INVISIBLE);
}else if (pos == 2){
cooldown.setVisibility(View.INVISIBLE);
warmup.setVisibility(View.VISIBLE);
}
如果这些是单个图像,那么这就是您想要的方式。如果它们是完整的<代码>布局许多<代码>视图< /代码>,那么您可能会考虑使用 这些不是<代码>可见性< /代码>的正确常量。试试看
if (pos == 1){
cooldown.setVisibility(View.VISIBLE);
warmup.setVisibility(View.INVISIBLE);
}else if (pos == 2){
cooldown.setVisibility(View.INVISIBLE);
warmup.setVisibility(View.VISIBLE);
}
如果这些是单个图像,那么这就是您想要的方式。如果它们是完整的<代码>布局许多<代码>视图< /代码>,那么您可能会想考虑使用< P> > <代码> StVistiBILITY()/<代码>的参数不应该是硬编码的0或1。这是有常数的<代码>可见为0,
不可见
为4,消失
为8。通过1没有任何作用。
在您的情况下,您应该使用
VISIBLE
和GONE
,因为INVISIBLE
仍将占用布局空间。设置可见性()的参数不应硬编码为0或1。这是有常数的<代码>可见为0,不可见
为4,消失
为8。通过1没有任何作用。
在您的情况下,您应该使用
可见
和消失
,因为不可见
仍将占据版面空间。我认为您应该使用可见,不可见,消失而不是数字我认为您应该使用可见,不可见,消失了取而代之的是数字您只是在更改图像吗?您可能应该为微调器中的每个选项使用一个活动。或者使用一个包含4个片段的活动,并使用LayoutFlatera您只是在更改图像吗?您可能应该为微调器中的每个选项使用一个活动。或者使用一个包含4个片段的活动并利用拉平机