Comment puis-je supprimer un bouton ou le rendre invisible dans Android?


Réponses:


364

Réglez la visibilité du bouton sur GONE (le bouton sera complètement "supprimé" - l'espace des boutons sera disponible pour d'autres widgets) ou INVISIBLE (le bouton deviendra "transparent" - son espace ne sera pas disponible pour d'autres widgets):

View b = findViewById(R.id.button);
b.setVisibility(View.GONE);

ou en xml:

<Button ... android:visibility="gone"/>

lorsque vous le réglez sur parti, est-ce qu'il compte toujours comme un enfant? si j'ai fait quelque chose comme le nombre d'enfants ou obtenir un enfant à l'index quoi que ce soit?
Lpc_dark

1
Je pense que oui, cela compte toujours comme un enfant.
Konstantin Burov

11
Et pour le montrer comme ça .. b.setVisibility (View.VISIBLE);
Zar E Ahmer

37

Rendez d'abord le bouton invisible dans le fichier xml, puis définissez le bouton visible dans le code java si nécessaire.

Button resetButton=(Button)findViewById(R.id.my_button_del);
resetButton.setVisibility(View.VISIBLE); //To set visible

Xml:

<Button
android:text="Delete"
android:id="@+id/my_button_del"
android:layout_width="72dp" 
android:layout_height="40dp"
android:visibility="invisible"/>

Je veux rendre le bouton invisible, mais cela devrait être accessible en activité, un peu comme le bouton Super secret. Cela ne devrait pas apparaître dans l'activité, mais le bouton devrait fonctionner
Samrat Mazumdar

1
Utilisez "buttonCleanup.setVisibility (View.VISIBLE);" au lieu du zéro.
Vincent

17

Pour supprimer le bouton dans le code java :

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(View.GONE);

Pour transparent Button dans le code java :

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(View.INVISIBLE);

Pour supprimer le bouton dans un fichier Xml :

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>

Pour le bouton transparent dans le fichier Xml :

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"/>


12

Cette vue est visible.

button.setVisibility(View.VISIBLE);

Cette vue est invisible et ne prend pas de place pour la mise en page.

button.setVisibility(View.GONE); 

Mais si vous voulez juste le rendre invisible:

button.setVisibility(View.INVISIBLE);

4

utilisez setVisibility dans button ou imageViwe ou .....
Pour supprimer le bouton dans le code java:

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(Button.GONE);

Vers le bouton transparent dans le code java

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(Button.INVISIBLE);


Vous devriez vous faire bouton code xml comme ci-dessous:

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>


masqué:
visibilité: disparu
:
visibilité: invisible
visibilité: visible


3
button.setVisibility(button.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);

Le rend visible s'il est invisible et invisible s'il est visible


1

Les contrôles d'affichage (TextView, EditText, Button, Image, etc.) ont tous une propriété de visibilité. Cela peut être défini sur l'une des trois valeurs suivantes:

Visible - affiché

android:visibility="visible"

Invisible - Caché mais espace réservé

android:visibility="invisible"

Gone - Caché complètement

android:visibility="gone"

Pour définir la visibilité dans le code, utilisez la constante publique disponible dans la classe View statique:

Button button1 = (TextView)findViewById(R.id.button1);
button1.setVisibility(View.VISIBILE);

0

Pour supprimer complètement un bouton de sa disposition parente:

((ViewGroup)button.getParent()).removeView(button);

0
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/activity_register_header"
    android:minHeight="50dp"
    android:orientation="vertical"
    android:visibility="gone" />

Essayez ce code

La visibilité fonctionne bien dans ce code


0

SI vous voulez rendre le bouton invisible, utilisez ceci:

<Button ... android:visibility="gone"/>

View.INVISIBLE:

Le bouton deviendra transparent. Mais cela prend de la place.

View.GONE

Le bouton sera complètement supprimé de la mise en page et nous pouvons ajouter un autre widget à la place du bouton supprimé.


0

Pour accéder aux éléments d'une autre classe, vous pouvez simplement utiliser

findViewById(R.id.**nameOfYourelementID**).setVisibility(View.GONE); 


-2

Essayez ce code:

button.setVisibility(View.INVISIBLE);

9
vous ne devriez vraiment pas utiliser de valeurs codées en dur dans cette méthode - utilisez simplement les constantes - View.GONE, View.VISIBLE ou View.INVISIBLE
bkurzius
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.