在Android中隐藏/取消隐藏内部布局

时间:2012-04-20 00:51:57

标签: android

我需要能够在Activity中隐藏/取消隐藏(在View.GONE意义上)整个线性布局行。这是获得对内部布局的引用的最佳方法,内部布局是更大的相对布局的一部分,并且设置内部布局的可见性消失了吗?我还应该保持对布局的引用,这样我就可以执行innerLayout.setVisibility(View.GONE)。如果是的话应该是什么类型的参考?最后还是每次我想隐藏/取消隐藏时更好。以某种方式保持对布局的直接引用似乎不太正确。另一方面,我不希望设置布局中的每个项目都消失,或者每次隐藏/取消隐藏时都设置findBy来定位它。

也许添加/删除布局是更好的形式?但是我需要在View层次结构中添加到正确的位置,将这个逻辑放在代码中也不是一个好主意。

1 个答案:

答案 0 :(得分:2)

您的线性布局是以XML格式设置还是以编程方式设置?

如果用XML完成:

请注意,如果任何视图使用此视图作为布局中的引用,例如android:layout_below =“@ + id / this”那么这将不是一个好主意。

你可以使用这样的东西,它会隐藏所有子视图和它自己,不会隐藏但完全消失(没有空间占用它)

如果要在多个方法中或在使用它的方法中使用它,请在类中使用它作为参考

View layout;

然后在onCreate中调用此

layout = findViewById(R.id.linearLayout);

然后让它消失:

layout.setVisibility(View.GONE);

layout.setVisibility(8);

并将其取回

layout.setVisibility(View.VISIBLE);

layout.setVisibility(0);
相关问题