我需要能够在Activity中隐藏/取消隐藏(在View.GONE意义上)整个线性布局行。这是获得对内部布局的引用的最佳方法,内部布局是更大的相对布局的一部分,并且设置内部布局的可见性消失了吗?我还应该保持对布局的引用,这样我就可以执行innerLayout.setVisibility(View.GONE)。如果是的话应该是什么类型的参考?最后还是每次我想隐藏/取消隐藏时更好。以某种方式保持对布局的直接引用似乎不太正确。另一方面,我不希望设置布局中的每个项目都消失,或者每次隐藏/取消隐藏时都设置findBy来定位它。
也许添加/删除布局是更好的形式?但是我需要在View层次结构中添加到正确的位置,将这个逻辑放在代码中也不是一个好主意。
答案 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);