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?

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

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

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


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);

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


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

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


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);

0

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

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

Versuchen Sie diesen Code

Die Sichtbarkeit funktioniert in diesem Code einwandfrei


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.


0

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

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


-2

Versuchen Sie diesen Code:

button.setVisibility(View.INVISIBLE);

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.