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


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

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

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


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

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


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


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

0

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

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

Wypróbuj ten kod

Widoczność działa dobrze w tym kodzie


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.


0

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

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


-2

Wypróbuj ten kod:

button.setVisibility(View.INVISIBLE);

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.