Как сделать кнопку невидимой сразу после нажатия? - PullRequest
2 голосов
/ 21 сентября 2011

Я хотел бы знать, как сделать кнопку видимой, но при нажатии я хочу, чтобы она была невидимой, чтобы она вообще не отображалась.

Ответы [ 5 ]

7 голосов
/ 21 сентября 2011
button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            Button button = (Button) v;
            button.setVisibility(View.INVISIBLE);
        }
    });

Это делает его невидимым, но все же занимает место в макете, переключая последний ряд на:

                button.setVisibility(View.GONE);

сделает его "сложенным", и он будет не только невидимым, но и не займет места в макете.

1 голос
/ 21 сентября 2011

поместите эту строку в ваш Button's on click method.

Button.setVisibility(View.INVISIBLE);

РЕДАКТИРОВАТЬ: если вы полностью потеряли представление Button, а затем попробуйте

Button.setVisibility(View.GONE);
1 голос
/ 21 сентября 2011

Просто используйте это в вашем OnClickListener:

button.setVisibility(View.INVISIBLE);

Если вы хотите, чтобы он был полностью невидим и занимал пространство макета, используйте

button.setVisibility(View.GONE);
1 голос
/ 21 сентября 2011

Это довольно просто. setVisibility(View.Invisible) внутри OnClickListener() кнопки

0 голосов
/ 21 сентября 2011

вы можете сделать так.

yourbutton.setVisibility(Button.GONE);

Это удалит вашу кнопку из вашего макета, поэтому другой элемент управления будет использовать это пространство.

Если вы хотите просто скрыть и сохранить размер кнопки с другим макетом, вы можете использовать

yourbutton.setVisibility(Button.INVISIBLE);
...