Я хотел бы знать, как сделать кнопку видимой, но при нажатии я хочу, чтобы она была невидимой, чтобы она вообще не отображалась.
Как сделать кнопку невидимой сразу после нажатия?
Ответы (5)
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Button button = (Button) v;
button.setVisibility(View.INVISIBLE);
}
});
Это делает его невидимым, но по-прежнему занимает место в макете, переключая последнюю строку для:
button.setVisibility(View.GONE);
сделает его «сложенным», и он будет не только невидимым, но и не будет занимать место в макете.
Это довольно просто. setVisibility(View.Invisible)
внутри OnClickListener()
кнопки
поместите эту строку в свой Button's on click method.
Button.setVisibility(View.INVISIBLE);
РЕДАКТИРОВАТЬ: если вы полностью отключите вид кнопки, а затем попробуете
Button.setVisibility(View.GONE);
Просто используйте это в своем OnClickListener:
button.setVisibility(View.INVISIBLE);
Если вы хотите, чтобы он был полностью невидимым и занимал пространство макета, используйте
button.setVisibility(View.GONE);
вы можете сделать так.
yourbutton.setVisibility(Button.GONE);
Это удалит вашу кнопку из вашего макета, поэтому в этом пространстве будет использоваться другой элемент управления.
Если вы хотите просто скрыть и сохранить размер кнопки с другим макетом, вы можете использовать
yourbutton.setVisibility(Button.INVISIBLE);