Sapp Sapp - 1 month ago 10
Android Question

Can I hide an image button on a layout, (dimensions and background) until a call to set visible?

I have a hidden image button in one of my xmls layouts, with a background set to a drawable image. I set the visibility to invisible, as I only want the image to display every once in a while. The problem is, even if the drawable isn't shown, the image button still takes us space - Is there a way to hide the background image, and make it's dimensions 0 until I call on it to be shown in my main class?

Thanks!

Edit: So in my xml, how would I write that?

<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>


I want to have the image always gone, unless a certain condition occurs, I then want the image to be visible under that one condition. So in my xml I would need to be set to GONE, but in my conditional statement so I say something like:

myimage.setVisibility(SHOW);?

Answer

All views, including ImageButton, inherit from android.view.View, so they all have a visibility attribute that can be set. Instead of setting the visibility of the drawable resource, set it on the ImageButton.