Jak mogę usunąć przycisk lub uczynić go niewidocznym w systemie Android?

152

Jak mogę usunąć przycisk w systemie Android lub uczynić go niewidocznym?

Troj
źródło

Odpowiedzi:

364

Ustaw widoczność przycisku na GONE (przycisk zostanie całkowicie „usunięty” - miejsce na przyciski będzie dostępne dla innych widgetów) lub INVISIBLE (przycisk stanie się „przezroczysty” - jego miejsce nie będzie dostępne dla innych widgetów):

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

lub w xml:

<Button ... android:visibility="gone"/>
Konstantin Burov
źródło
kiedy ustawisz go na zniknięcie, czy nadal liczy się jako dziecko? jeśli zrobiłem coś takiego jak liczenie dzieci lub indeksowanie dzieci, co kiedykolwiek?
Lpc_dark,
1
Myślę, że tak, nadal liczy się jako dziecko.
Konstantin Burov
11
Aby to pokazać w ten sposób .. b.setVisibility (View.VISIBLE);
Zar E Ahmer
37

Najpierw uczyń przycisk niewidocznym w pliku xml, a następnie ustaw przycisk widoczny w kodzie java, jeśli to konieczne.

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
źródło
Chcę, aby przycisk był niewidoczny, ale powinien być dostępny w działaniu, podobnie jak przycisk Super Secret. Nie powinien pojawiać się w aktywności, ale przycisk powinien działać
Samrat Mazumdar
1
Użyj "buttonCleanup.setVisibility (View.VISIBLE);" zamiast zera.
Vincent
17

Aby usunąć przycisk w kodzie java :

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

Aby przezroczysty przycisk w kodzie java :

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

Aby usunąć przycisk w pliku Xml :

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

Aby przezroczysty przycisk w pliku XML :

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

Ten widok jest widoczny.

button.setVisibility(View.VISIBLE);

Ten widok jest niewidoczny i nie zajmuje miejsca do celów układu.

button.setVisibility(View.GONE); 

Ale jeśli chcesz tylko uczynić to niewidocznym:

button.setVisibility(View.INVISIBLE);
MSIslam
źródło
4

użyj setVisibility w przycisku lub imageViwe lub .....
Aby usunąć przycisk w kodzie java:

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

Do przezroczystego przycisku w kodzie java

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


Powinieneś zrobić przycisk kodu xml jak poniżej:

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


ukryty:
widoczność: zniknął
pokaż:
widoczność: niewidoczny
widoczność: widoczny

sajad
źródło
3
button.setVisibility(button.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE);

Sprawia, że ​​jest widoczny, jeśli jest niewidoczny i niewidoczny, jeśli jest widoczny

ORY
źródło
1

Kontrolki widoku (TextView, EditText, Button, Image itp.) Wszystkie mają właściwość visibility. Można ustawić jedną z trzech wartości:

Widoczne - wyświetlane

android:visibility="visible"

Niewidoczne - ukryte, ale zarezerwowane miejsce

android:visibility="invisible"

Gone - całkowicie ukryty

android:visibility="gone"

Aby ustawić widoczność w kodzie, użyj stałej publicznej dostępnej w statycznej klasie View:

Button button1 = (TextView)findViewById(R.id.button1);
button1.setVisibility(View.VISIBILE);
Mayank Bhatnagar
źródło
0

Aby całkowicie usunąć przycisk z jego układu nadrzędnego:

((ViewGroup)button.getParent()).removeView(button);
Daniel
źródło
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" />

Wypróbuj ten kod

Widoczność działa dobrze w tym kodzie

Gowtham Subramaniam
źródło
0

JEŚLI chcesz uczynić niewidoczny przycisk, użyj tego:

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

View.INVISIBLE:

Przycisk stanie się przezroczysty. Ale zajmuje to miejsce.

View.GONE

Przycisk zostanie całkowicie usunięty z układu i możemy dodać inny widżet w miejsce usuniętego przycisku.

kundan kamal
źródło
0

Aby uzyskać dostęp do elementów z innej klasy, możesz po prostu użyć

findViewById(R.id.**nameOfYourelementID**).setVisibility(View.GONE); 
Martynas Stanys
źródło
-1
Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(8);
user2922138
źródło
-2

Wypróbuj ten kod:

button.setVisibility(View.INVISIBLE);
Ardi
źródło
9
naprawdę nie powinieneś używać wartości zakodowanych na stałe w tej metodzie - po prostu użyj stałych - View.GONE, View.VISIBLE lub View.INVISIBLE
bkurzius