4

我的一个 xmls 布局中有一个隐藏的图像按钮,背景设置为可绘制图像。我将可见性设置为不可见,因为我只希望图像每隔一段时间显示一次。问题是,即使未显示可绘制对象,图像按钮仍然占用我们空间 - 有没有办法隐藏背景图像,并使其尺寸为 0,直到我调用它显示在我的主类中?

谢谢!

编辑:所以在我的 xml 中,我将如何编写它?

<ImageButton android:id="@+id/myimage" android:visibility="invisible" 
android:layout_width="wrap_content" android:layout_height="wrap_content" 
android:layout_gravity="center" android:background="@drawable/my_image"></ImageButton>

我希望图像始终消失,除非发生某种情况,否则我希望图像在这种情况下可见。因此,在我的 xml 中,我需要设置为 GONE,但在我的条件语句中,我会这样说:

myimage.setVisibility(SHOW);?

4

4 回答 4

14

尝试将可见性设置为GONE

于 2010-11-22T19:11:26.617 回答
9

不要将宽度/高度设置为零,这很难看。除非您更改可见性设置,否则视图将始终占用空间。这是你想要的代码:

myImageButton.setVisibility(View.GONE);

View.GONE - 不可见,不占用空间 View.INVISIBLE - 不可见,但仍占用空间 View.VISIBLE - 使用它来恢复

于 2010-11-22T19:16:21.887 回答
6

所有视图,包括 ImageButton,都继承自 android.view.View,因此它们都有一个可以设置的可见性属性。不要设置可绘制资源的可见性,而是将其设置在 ImageButton 上。

于 2010-11-22T19:13:35.217 回答
2

在java中像这样设置Imageview的Visibility属性

imgView.setVisibility(View.VISIBLE);
imgView.setVisibility(View.INVISIBLE);
imgView.setVisibility(View.GONE);

或者像这样在 XML

android:visibility="visible"
android:visibility="gone"
android:visibility="invisible"

每个结果都是这样的

在此处输入图像描述

于 2016-10-30T14:49:34.760 回答