Puis-je cacher un bouton d'image sur une mise en page, (dimensions et arrière-plan) jusqu'à ce qu'un appel à VISIBLE?

StackOverflow https://stackoverflow.com/questions/4249237

Question

J'ai un bouton d'image cachée dans un de mes xmls mises en page, avec un ensemble d'arrière-plan à une image drawable. Je mis la visibilité à invisible, que je ne veux que l'image pour afficher tous les temps en temps. Le problème est, même si le drawable n'apparaît pas, le bouton d'image nous prend toujours l'espace - Y at-il un moyen de cacher l'image d'arrière-plan, et faire des dimensions de 0 jusqu'à ce que j'invite à montrer dans ma classe principale

Merci!

Edit:? Donc, dans mon xml, comment pourrais-je écrire que

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

Je veux avoir l'image toujours disparu, à moins d'une certaine condition se produit, je veux alors que l'image soit visible sous cette seule condition. Donc, dans mon xml je besoin d'être mis à GONE, mais dans ma déclaration conditionnelle si je dis quelque chose comme:

myimage.setVisibility (SHOW);?

Était-ce utile?

La solution

Toutes les vues, y compris ImageButton, Hériter de android.view.View, ils ont tous un attribut de visibilité qui peut être réglée. Au lieu de définir la visibilité de la ressource drawable, mis sur le ImageButton.

Autres conseils

Définissez la visibilité à GONE

Ne pas régler la largeur / hauteur à zéro, qui est laid. La vue sera toujours prendre l'espace, sauf si vous modifiez le paramètre de visibilité. Ceci est le code que vous voulez:

myImageButton.setVisibility (View.GONE);

View.GONE - invisible, prend pas de place View.INVISIBLE - invisible, mais occupe toujours l'espace View.VISIBLE - l'utiliser pour le ramener

Définir la propriété de visibilité de Imageview comme celui-ci en java

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

Ou comme celui-ci en XML

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

Résultat pour chaque sera comme ceci

 entrer image description ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top