Wie kann ich eine Schaltfläche entfernen oder in Android unsichtbar machen?

152

Wie kann ich eine Schaltfläche in Android entfernen oder unsichtbar machen?

Troj
quelle

Antworten:

364

Setzen Sie die Sichtbarkeit der Schaltflächen auf GONE (Schaltfläche wird vollständig "entfernt" - der Schaltflächenbereich ist für andere Widgets verfügbar) oder UNSICHTBAR (die Schaltfläche wird "transparent" - ihr Speicherplatz ist für andere Widgets nicht verfügbar):

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

oder in xml:

<Button ... android:visibility="gone"/>
Konstantin Burov
quelle
Wenn Sie es auf "weg" setzen, zählt es immer noch als Kind? Wenn ich so etwas wie Kinderzählung gemacht habe oder Kind auf Index bekommen habe, was auch immer?
Lpc_dark
1
Ich denke ja, es zählt noch als Kind.
Konstantin Burov
11
Und um es so zu zeigen .. b.setVisibility (View.VISIBLE);
Zar E Ahmer
37

Machen Sie zuerst die Schaltfläche in der XML-Datei unsichtbar. Setzen Sie dann die Schaltfläche bei Bedarf im Java-Code.

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
quelle
Ich möchte den Knopf unsichtbar machen, aber das sollte in der Aktivität zugänglich sein, ähnlich wie der Super Secret Button. Es sollte nicht in Aktivität erscheinen, aber der Knopf sollte funktionieren
Samrat Mazumdar
1
Verwenden Sie "buttonCleanup.setVisibility (View.VISIBLE);" anstelle der Null.
Vincent
17

So entfernen Sie die Schaltfläche im Java-Code :

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

Zum transparenten Button im Java-Code :

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

So entfernen Sie die Schaltfläche in der XML-Datei :

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

Zur transparenten Schaltfläche in der XML-Datei :

<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"/>
ghader
quelle
13
button.setVisibility(View.GONE);
Ben Groot
quelle
12

Diese Ansicht ist sichtbar.

button.setVisibility(View.VISIBLE);

Diese Ansicht ist unsichtbar und nimmt für Layoutzwecke keinen Platz ein.

button.setVisibility(View.GONE); 

Aber wenn Sie es nur unsichtbar machen wollen:

button.setVisibility(View.INVISIBLE);
MSIslam
quelle
4

Verwenden Sie setVisibility in button oder imageViwe oder .....
So entfernen Sie die Schaltfläche in Java-Code:

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

Zum transparenten Button im Java-Code

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


Sie sollten den XML-Code wie folgt verknüpfen:

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


versteckt:
Sichtbarkeit: weg
Show:
Sichtbarkeit: unsichtbar
Sichtbarkeit: sichtbar

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

Macht es sichtbar, wenn es unsichtbar ist, und unsichtbar, wenn es sichtbar ist

ORY
quelle
1

Ansichtssteuerelemente (TextView, EditText, Button, Image usw.) verfügen alle über eine Sichtbarkeitseigenschaft. Dies kann auf einen von drei Werten eingestellt werden:

Sichtbar - Angezeigt

android:visibility="visible"

Unsichtbar - Versteckt, aber reserviert

android:visibility="invisible"

Vorbei - vollständig versteckt

android:visibility="gone"

Verwenden Sie zum Festlegen der Sichtbarkeit im Code die öffentliche Konstante, die in der statischen View-Klasse verfügbar ist:

Button button1 = (TextView)findViewById(R.id.button1);
button1.setVisibility(View.VISIBILE);
Mayank Bhatnagar
quelle
0

So entfernen Sie eine Schaltfläche vollständig aus dem übergeordneten Layout:

((ViewGroup)button.getParent()).removeView(button);
Daniel
quelle
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" />

Versuchen Sie diesen Code

Die Sichtbarkeit funktioniert in diesem Code einwandfrei

Gowtham Subramaniam
quelle
0

Wenn Sie die Schaltfläche unsichtbar machen möchten, verwenden Sie diese:

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

View.INVISIBLE:

Die Schaltfläche wird transparent. Aber es braucht Platz.

View.GONE

Die Schaltfläche wird vollständig aus dem Layout entfernt und wir können anstelle der entfernten Schaltfläche ein anderes Widget hinzufügen.

Kundan Kamal
quelle
0

Um auf Elemente einer anderen Klasse zuzugreifen, können Sie diese einfach verwenden

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

Versuchen Sie diesen Code:

button.setVisibility(View.INVISIBLE);
Ardi
quelle
9
Sie sollten in dieser Methode wirklich keine fest codierten Werte verwenden - verwenden Sie einfach die Konstanten - View.GONE, View.VISIBLE oder View.INVISIBLE
bkurzius