如何在Android中删除一个按钮或使其不可见?

164

我该如何在Android上删除一个按钮,或让它不可见?

14个回答

385

将按钮的可见性设置为GONE(按钮将完全“移除” - 按钮空间将可用于其他小部件)或INVISIBLE(按钮将变为“透明” - 其空间将不可用于其他小部件):

View b = findViewById(R.id.button);
b.setVisibility(View.GONE);

或者在xml中:

<Button ... android:visibility="gone"/>

当你将其设置为gone时,它仍然算作一个子项吗?如果我执行类似于child count或get child at index的操作呢? - Lpc_dark
1
我认为是的,它仍然算作一个子元素。 - Konstantin Burov
12
将其显示为这样... b.setVisibility(View.VISIBLE); - Zar E Ahmer
有没有任何方法可以通过JavaScript执行器或其他方式启用/使其可见? - Ashok kumar Ganesan

39

首先在xml文件中将按钮设置为不可见。然后在需要的情况下,在java代码中将按钮设置为可见。

Button resetButton=(Button)findViewById(R.id.my_button_del);
resetButton.setVisibility(View.VISIBLE); //To set visible

Xml:

<Button
android:text="Delete"
android:id="@+id/my_button_del"
android:layout_width="72dp" 
android:layout_height="40dp"
android:visibility="invisible"/>

我想让按钮不可见,但在活动中应该可以访问,就像超级秘密按钮一样。它不应该在活动中显示,但按钮应该可以使用。 - Samrat Mazumdar
1
请使用"buttonCleanup.setVisibility(View.VISIBLE);"代替零。 - Vincent

17

Java代码中删除按钮:

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(View.GONE);

java代码中实现的按钮:

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(View.INVISIBLE);

要在 Xml 文件移除 按钮:

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>

如何在 Xml文件 中创建一个 透明 的按钮:

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"/>

14
button.setVisibility(View.GONE);

13

这个视图是可见的。

button.setVisibility(View.VISIBLE);

这个视图是不可见的,对于布局目的而言它不占用任何空间。

button.setVisibility(View.GONE); 

但是如果你只想让它变得不可见:

button.setVisibility(View.INVISIBLE);

3

在Java代码中使用setVisibility来隐藏按钮或图片等控件。
要在Java代码中移除按钮:

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(Button.GONE);

在Java代码中实现透明按钮
Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(Button.INVISIBLE);

您应该按照以下方式编写按钮的XML代码:
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>


隐藏:
可见性:消失
显示:
可见性:不可见
可见性:可见


3
button.setVisibility(button.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);

使其可见如果它是不可见的,将其隐藏如果它是可见的。

2

如果你想要创建一个不可见的按钮,可以使用以下代码:

<Button ... android:visibility="gone"/>

View.INVISIBLE:
View.GONE

按钮将从布局中完全删除,我们可以在移除按钮的位置添加其他小部件。


0

为了从另一个类中访问元素,您可以简单地使用

findViewById(R.id.**nameOfYourelementID**).setVisibility(View.GONE); 

0

要从其父布局完全删除按钮:

((ViewGroup)button.getParent()).removeView(button);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接