160

如何删除 Android 中的按钮,或使其不可见?

4

15 回答 15

381

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

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

或在 xml 中:

<Button ... android:visibility="gone"/>
于 2010-11-08T20:37:03.207 回答
38

首先使按钮在 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"/>
于 2012-02-17T12:21:36.100 回答
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"/>
于 2012-11-18T09:48:32.947 回答
13
button.setVisibility(View.GONE);
于 2010-11-08T20:34:45.493 回答
13

这个视图是可见的。

button.setVisibility(View.VISIBLE);

此视图是不可见的,并且它不占用任何空间用于布局目的。

button.setVisibility(View.GONE); 

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

button.setVisibility(View.INVISIBLE);
于 2013-06-22T18:54:02.267 回答
3

在 button 或 imageViwe 或 ..... 中使用 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"/>


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

于 2015-08-28T11:14:02.090 回答
3
button.setVisibility(button.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);

如果不可见则使其可见,如果可见则使其不可见

于 2017-02-24T17:08:27.970 回答
2

如果你想制作隐形按钮,那么使用这个:

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

View.INVISIBLE:

按钮将变为透明。但它占用空间。

View.GONE

按钮将从布局中完全删除,我们可以添加其他小部件来代替已删除的按钮。

于 2018-03-12T08:32:46.077 回答
1

视图控件(TextView、EditText、Button、Image 等)都有一个可见性属性。这可以设置为三个值之一:

可见- 显示

android:visibility="visible"

不可见- 隐藏但保留空间

android:visibility="invisible"

消失- 完全隐藏

android:visibility="gone"

要在代码中设置可见性,请使用静态 View 类中可用的公共常量:

Button button1 = (TextView)findViewById(R.id.button1);
button1.setVisibility(View.VISIBILE);
于 2016-02-26T19:11:33.933 回答
0

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

((ViewGroup)button.getParent()).removeView(button);
于 2016-07-17T21:32:23.793 回答
0
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/activity_register_header"
    android:minHeight="50dp"
    android:orientation="vertical"
    android:visibility="gone" />

试试这个代码

可见性在此代码中工作正常

于 2016-11-25T04:36:26.097 回答
0

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

findViewById(R.id.**nameOfYourelementID**).setVisibility(View.GONE); 
于 2018-04-28T13:23:00.497 回答
0

如果你想让你的按钮不可见,这样它就不会在布局中占用任何空间,那么在你的Java 代码中添加这个:

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

或者在 XML 中:android:visibility="gone"

如果你想让你的按钮不可见,这样它仍然在你的布局中占用空间,然后在你的java代码中用“View.INVISIBLE”替换“View.GONE”,或者在你的xml代码中用“invisible”替换“gone” 。

于 2021-06-14T14:21:12.110 回答
-1
Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(8);
于 2013-11-12T14:33:58.250 回答
-2

试试这个代码:

button.setVisibility(View.INVISIBLE);
于 2013-01-08T15:46:28.430 回答