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

152

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

Troj
la source

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"/>
Konstantin Burov
la source
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"/>
Thomas VJ
la source
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"/>
ghader
la source
13
button.setVisibility(View.GONE);
Ben Groot
la source
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);
MSIslam
la source
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

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

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

ORY
la source
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);
Mayank Bhatnagar
la source
0

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

((ViewGroup)button.getParent()).removeView(button);
Daniel
la source
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

Gowtham Subramaniam
la source
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é.

kundan kamal
la source
0

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

findViewById(R.id.**nameOfYourelementID**).setVisibility(View.GONE); 
Martynas Stanys
la source
-1
Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(8);
user2922138
la source
-2

Essayez ce code:

button.setVisibility(View.INVISIBLE);
Ardi
la source
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