2017-03-05 203 views
-1

想象一個Android應用程序,它具有3個線性佈局的TextView,一個依次在另一個之下,然後是2個按鈕。 1按鈕需要隱藏第二個文本視圖,第二個按鈕需要再次使其可見。Android:隱藏元素

唯一的要求是,當第二個文本視圖消失時,它不應該佔用任何空間,這意味着第三個文本視圖應該在它消失時佔據它的空間。

我試着用INVISIBLE和VISIBLE設置,但是,一個空白的佔位符保留在第二個文本視圖的位置。

我嘗試了GONE,它消除了空白區域,但是我無法讓第二個文本視圖再次出現。

你知道一個方法來實現嗎?

例子:

//////////////////////////// 
initial state: 
textview1 
textview2 
textview3 
button1 
button2 

--> user pushes button1 

new state: 
textview1 
textview3 
button1 
button2 

--> user pushes button2 

new state: initial state 
//////////////////////////// 

感謝

+0

'我嘗試了GONE,它消除了空白區域,但是我無法讓第二個文本視圖再次出現.'您必須將其可見性重新設置爲VISIBLE。 –

+0

你是怎麼試着讓它出現的?您應該將其可見性設置爲可見 – X3Btel

+0

您還可以通過設置可見性再次看到GONE texView。 –

回答

3

兩種方式:

XML

在XML文件中。如果你想擁有初始可見

android:visibility="gone" <-- hides 

android:visibility="visible" <-- makes it visible 

的Java

在Java文件。因爲當你需要以編程方式更改它

textView.setVisibility(View.GONE);//makes it disappear 

textView.setVisibility(View.VISIBLE);//makes it visible again 

不同的可見性:

  • 可見

說自己:設置視圖是VISI竹葉提取

  • 隱形

隱藏的觀點,但它仍然佔據空間。

隱藏視圖,並使其佔用的空間。