2017-03-05 205 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竹叶提取

  • 隐形

隐藏的观点,但它仍然占据空间。

隐藏视图,并使其占用的空间。