开发者

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

开发者 https://www.devze.com 2023-01-26 03:51 出处:网络
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开发者_JAVA百科 want the image to display every once in a

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开发者_JAVA百科 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);?


Try setting the visibility to GONE


Don't set the width/height to zero, that's ugly. The view will always take up the space, unless you change the visibility setting. This is the code you want:

myImageButton.setVisibility(View.GONE);

View.GONE - invisible, takes up no space View.INVISIBLE - invisible, but still takes up space View.VISIBLE - use this to bring it back


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.


Set Visibility property of Imageview like this in java

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

Or like this in XML

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

Result for each will be like this

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

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号