Android:隐藏一个元素

标签 android element visibility

<分区>

想象一个 Android 应用有 3 个线性布局的 TextView,一个依次在另一个下面,然后是 2 个按钮。 1 个按钮需要隐藏第二个 TextView ,第二个按钮需要使其再次可见。

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

我尝试使用 INVISIBLE 和 VISIBLE 设置进行此操作,但是,空白占位符仍保留在第二个 TextView 的位置。

我尝试使用 GONE,它消除了空白,但是我无法再次显示第二个 TextView 。

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

示例:

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

--> user pushes button1

new state:
textview1
textview3
button1
button2

--> user pushes button2

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

谢谢

最佳答案

两种方式:

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

不同的可见性:

  • 可见

自己说:将 View 设置为可见

  • 隐形

隐藏 View ,但它仍然占据空间。

  • 走了

隐藏 View ,使其不占用空间。

关于Android:隐藏一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42608060/

相关文章:

android - 请求权限窗口强制应用程序停止

arrays - struct 中的一个元素数组

php - 将元素添加到状态更改按钮 Html

JavaScript 可见性闪烁

c# - 如何在 C# 中通过所有者控制类可见性

Android,如何为 TextView 小部件设置主题字体颜色?

Android:SQLite 数据库不在内存中

javascript - 如何防止更改链接或元素?

javascript - 如何从外部链接更改标签的CSS

android - Robolectric:Android 中的 SAXParser 与 Java 中的 SAXParser (robolectric):localname 与 qname 的差异