Como posso remover um botão ou torná-lo invisível no Android?


Respostas:


364

Defina a visibilidade do botão como GONE (o botão será completamente "removido" - o espaço dos botões estará disponível para outros widgets) ou INVISÍVEL (o botão ficará "transparente" - o espaço não estará disponível para outros widgets):

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

ou em xml:

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

quando você o define, ainda conta como uma criança? se eu fiz algo como contagem de crianças ou obter filhos no índice, o que nunca?
Lpc_dark

1
Eu acho que sim, ainda conta quando criança.
Konstantin Burov

11
E para mostrá-lo assim .. b.setVisibility (View.VISIBLE);
Zar E Ahmer

37

Primeiro, torne o botão invisível no arquivo xml. Em seguida, defina o botão visível no código java, se necessário.

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

Quero tornar o botão invisível, mas isso deve ser acessível em atividade, bem como o botão Super secreto. Ele não deve aparecer em atividade, mas o botão deve funcionar
Samrat Mazumdar

1
Use "buttonCleanup.setVisibility (View.VISIBLE);" em vez do zero.
Vincent

17

Para remover o botão no código java :

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

Para botão Transparente no código java :

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

Para remover o botão no arquivo Xml :

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

Para botão transparente no arquivo Xml :

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


12

Essa visão é visível.

button.setVisibility(View.VISIBLE);

Essa visualização é invisível e não ocupa espaço para fins de layout.

button.setVisibility(View.GONE); 

Mas se você quiser apenas torná-lo invisível:

button.setVisibility(View.INVISIBLE);

4

use setVisibility no botão ou imageViwe ou .....
Para remover o botão no código java:

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

Para botão transparente no código java

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


Você deve fazer o botão do código xml como abaixo:

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


oculto:
visibilidade: ido
mostrar:
visibilidade: invisível
visibilidade: visível


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

Torna visível se invisível e invisível se visível


1

Os controles de exibição (TextView, EditText, Button, Image, etc) têm uma propriedade de visibilidade. Isso pode ser definido como um dos três valores:

Visível - Exibido

android:visibility="visible"

Invisível - oculto, mas espaço reservado

android:visibility="invisible"

Gone - Hidden completamente

android:visibility="gone"

Para definir a visibilidade no código, use a constante pública disponível na classe estática View:

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

0

Para remover completamente um botão do layout pai:

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

Experimente este código

A visibilidade funciona bem neste código


0

Se você deseja criar um botão invisível, use o seguinte:

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

View.INVISIBLE:

O botão ficará transparente. Mas está ocupando espaço.

View.GONE

O botão será completamente removido do layout e podemos adicionar outro widget no lugar do botão removido.


0

Para acessar elementos de outra classe, você pode simplesmente usar

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

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

-2

Experimente este código:

button.setVisibility(View.INVISIBLE);

9
você realmente não deve usar valores codificados neste método - basta usar as constantes - View.GONE, View.VISIBLE ou View.INVISIBLE
bkurzius
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.