Kann ich ein Bild Taste auf einem Layout, (Abmessungen und Hintergrund), bis ein Anruf sichtbar setzen verstecken?
-
27-09-2019 - |
Frage
Ich habe eine versteckte Schaltfläche Bild in einen meiner xmls Layouts, mit einem Hintergrund-Set zu einem ziehbaren Bild. Ich stelle die Sichtbarkeit auf unsichtbar, da ich nur das Bild wollen, dass jeder angezeigt werden hin und wieder. Das Problem ist, auch wenn die ziehbar nicht gezeigt wird, nimmt der Bildknopf uns noch Raum - Gibt es eine Möglichkeit, das Hintergrundbild zu verbergen, und es Dimensionen machen 0 bis ich rufe es in meiner Hauptklasse gezeigt werden / p>
Danke!
Edit: Also in meinem xml, wie würde ich schreiben, dass
<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>
Ich möchte das Bild immer weg, es sei denn, eine bestimmte Bedingung eintritt, möchte ich dann das Bild, das eine Bedingung sichtbar unter sein. Also in meinem xml würde ich muß GONE gesetzt werden, aber in meiner bedingten Anweisung, damit ich etwas sagen wie:
myimage.setVisibility (SHOW);?
Lösung
Alle Ansichten, einschließlich Image, vererben android.view.View, so dass sie alle ein Sichtbarkeitsattribut haben, die eingestellt werden können. Anstatt die Sichtbarkeit der ziehbar Ressource Einstellung, stellte sie auf dem Image.
Andere Tipps
Versuchen Sie, die Sichtbarkeit zu GONE
Einstellung
Do die Breite / Höhe auf Null nicht gesetzt ist, die hässlich ist. Der Blick nehmen immer den Raum, es sei denn Sie die Sichtbarkeit Einstellung ändern. Dies ist der Code, den Sie wollen:
myImageButton.setVisibility (View.GONE);
View.GONE - unsichtbar, nimmt keinen Platz View.INVISIBLE - unsichtbar, aber nimmt noch Platz View.VISIBLE - nutzen diese, um es wieder
Setzen Sie Sichtbarkeit Eigenschaft Bildansicht wie diese in Java
imgView.setVisibility(View.VISIBLE);
imgView.setVisibility(View.INVISIBLE);
imgView.setVisibility(View.GONE);
Oder wie dies in XML
android:visibility="visible"
android:visibility="gone"
android:visibility="invisible"
Ergebnis für jeden wird so sein
eingeben