想象一个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>")
})
由于
答案 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)