2012-04-20 126 views
3

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

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

+0

保持一个参考活动中的布局是完全正常的。该类型可以是View,因为你只会打电话给setVisibility。 – gngr44 2012-04-20 01:01:55

+0

您的问题/问题描述解决了我的问题。 – Msmit1993 2014-03-13 12:48:14

回答

2

yur线性布局设置在XML中还是编程?

如果在XML做到:

需要注意的是,如果任何视图使用此视图中的布局,如Android的一个参考:layout_below =“@ + ID /本”,那么这将不会是一个很好的理念。

您可以使用这样的事情,它会隐藏所有的子视图和本身,而不是隐藏,而是完全消失了(就由它没有足够的空间)

以此为无论是在类的引用,如果你想用它在多个方法或方法,它使用的是它

View layout; 

然后在的onCreate调用这个

layout = findViewById(R.id.linearLayout); 

然后让它dissapear:

layout.setVisibility(View.GONE); 

layout.setVisibility(8); 

,并把它找回来

layout.setVisibility(View.VISIBLE); 

layout.setVisibility(0);