如何删除 Android 中的按钮,或使其不可见?
15 回答
首先使按钮在 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"/>
要删除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"/>
button.setVisibility(View.GONE);
这个视图是可见的。
button.setVisibility(View.VISIBLE);
此视图是不可见的,并且它不占用任何空间用于布局目的。
button.setVisibility(View.GONE);
但如果你只想让它不可见:
button.setVisibility(View.INVISIBLE);
在 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"/>
隐藏:
可见性:消失
显示:
可见性:不
可见可见性:可见
button.setVisibility(button.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);
如果不可见则使其可见,如果可见则使其不可见
如果你想制作隐形按钮,那么使用这个:
<Button ... android:visibility="gone"/>
View.INVISIBLE:
按钮将变为透明。但它占用空间。
View.GONE
按钮将从布局中完全删除,我们可以添加其他小部件来代替已删除的按钮。
视图控件(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);
要从其父布局中完全删除按钮:
((ViewGroup)button.getParent()).removeView(button);
<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" />
试试这个代码
可见性在此代码中工作正常
为了访问另一个类的元素,您可以简单地使用
findViewById(R.id.**nameOfYourelementID**).setVisibility(View.GONE);
如果你想让你的按钮不可见,这样它就不会在布局中占用任何空间,那么在你的Java 代码中添加这个:
Button button = (Button)findViewById(R.id.button);
button.setVisibility(View.GONE);
或者在 XML 中:android:visibility="gone"
如果你想让你的按钮不可见,这样它仍然在你的布局中占用空间,然后在你的java代码中用“View.INVISIBLE”替换“View.GONE”,或者在你的xml代码中用“invisible”替换“gone” 。
Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(8);
试试这个代码:
button.setVisibility(View.INVISIBLE);