2012-04-20 161 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);