Android:隐藏元素

时间:2017-03-05 11:53:18

标签: android element visibility

想象一个Android应用程序,其中3个TextView采用线性布局,一个顺序位于另一个之下,然后是2个按钮。 1个按钮需要隐藏第二个文本视图,第二个按钮需要再次显示它。

唯一的要求是,当第二个文本视图消失时,它不应占用任何空间,这意味着第三个文本视图应该在它消失时占据其空间。

我尝试使用INVISIBLE和VISIBLE设置,但是,空白占位符仍保留在第二个文本视图的位置。

我尝试使用GONE,这消除了空白区域,但是我无法再显示第二个文本视图。

你知道实现这个目标的方法吗?

示例:

var sites = sites_str.split(",");

$.each(sites,function(i,j) {

$('.check').append("<input type=checkbox name=site_name value="+sites[i]+">"+sites[i] +"</br>")

})  

由于

2 个答案:

答案 0 :(得分:6)

两种方式:

<强> XML

在您的XML文件中。如果您想拥有初始可见性

android:visibility="gone" <-- hides

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

<强>爪哇

在java文件中。当您需要以编程方式更改它时

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

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

不同的可见性:

  • 可见

表示自己:将视图设置为可见

  • 隐形

隐藏视图,但它仍占用空间。

隐藏视图,使其不占空间。

答案 1 :(得分:0)

在Kotlin中,您可以这样设置

textView.visibility = if(visible) View.VISIBLE else View.GONE

或者您可以在View上添加扩展名

fun View.setVisible(visible: Boolean) {
    visibility = if (visible) {
        View.VISIBLE
    } else {
        View.GONE
    }
}

像这样使用它

textView,setVisible(true)