Come posso rimuovere un pulsante o renderlo invisibile in Android?


Risposte:


364

Imposta la visibilità del pulsante su GONE (il pulsante sarà completamente "rimosso" - lo spazio dei pulsanti sarà disponibile per altri widget) o INVISIBILE (il pulsante diventerà "trasparente" - il suo spazio non sarà disponibile per altri widget):

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

o in xml:

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

quando lo imposti, conta ancora come un bambino? se avessi fatto qualcosa di simile a un bambino contasse o avessi un bambino all'indice cosa mai?
Lpc_dark,

1
Penso di sì, conta ancora da bambino.
Konstantin Burov,

11
E per mostrarlo in questo modo ... b.setVisibility (View.VISIBLE);
Zar E Ahmer,

37

Prima rendi il pulsante invisibile nel file xml, quindi imposta il pulsante visibile nel codice java, se necessario.

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

Voglio rendere invisibile il pulsante, ma dovrebbe essere accessibile in attività, proprio come il pulsante Super secret. Non dovrebbe apparire in attività, ma il pulsante dovrebbe funzionare
Samrat Mazumdar il

1
Utilizzare "buttonCleanup.setVisibility (View.VISIBLE);" invece dello zero.
Vincent,

17

Per rimuovere il pulsante nel codice Java :

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

Al pulsante trasparente nel codice java :

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

Per rimuovere il pulsante nel file Xml :

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

Per pulsante trasparente nel file Xml :

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


12

Questa vista è visibile.

button.setVisibility(View.VISIBLE);

Questa vista è invisibile e non occupa spazio ai fini del layout.

button.setVisibility(View.GONE); 

Ma se vuoi solo renderlo invisibile:

button.setVisibility(View.INVISIBLE);

4

usa setVisibility nel pulsante o imageViwe o .....
Per rimuovere il pulsante nel codice java:

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

Al pulsante trasparente nel codice java

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


Dovresti creare un codice XML pulsante come di seguito:

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


nascosto:
visibilità: andato
spettacolo:
visibilità:
visibilità invisibile : visibile


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

Rende visibile se invisibile e invisibile se visibile


1

I controlli di visualizzazione (TextView, EditText, Button, Image, ecc.) Hanno tutti una proprietà di visibilità. Questo può essere impostato su uno dei tre valori:

Visibile : visualizzato

android:visibility="visible"

Invisibile - Nascosto ma spazio riservato

android:visibility="invisible"

Andato - Nascosto completamente

android:visibility="gone"

Per impostare la visibilità nel codice, utilizzare la costante pubblica disponibile nella classe View statica:

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

0

Per rimuovere completamente un pulsante dal layout principale:

((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" />

Prova questo codice

La visibilità funziona bene in questo codice


0

SE vuoi rendere il pulsante invisibile, quindi usa questo:

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

View.INVISIBLE:

Il pulsante diventerà trasparente. Ma ci vuole spazio.

View.GONE

Il pulsante verrà rimosso completamente dal layout e possiamo aggiungere altri widget al posto del pulsante rimosso.


0

Per accedere agli elementi di un'altra classe puoi semplicemente usare

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

-1
Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(8);

-2

Prova questo codice:

button.setVisibility(View.INVISIBLE);

9
non dovresti davvero usare valori hardcoded in questo metodo - usa semplicemente le Costanti - View.GONE, View.VISIBLE o View.INVISIBLE
bkurzius
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.