Як я можу видалити кнопку або зробити її невидимою в Android?


Відповіді:


364

Встановіть видимість кнопки на GONE (кнопка буде повністю «знята» - простір для кнопок буде доступний для інших віджетів) або НЕВІДОМЛЕНО (кнопка стане «прозорою» - її місце не буде доступно для інших віджетів):

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

або в xml:

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

коли ви встановите його на зниклий, чи все ще вважається дитиною? якщо я зробив щось на кшталт підрахунку дитини або отримати дитину в індексі що коли-небудь?
Lpc_dark

1
Я думаю, що так, це все ще вважається дитиною.
Костянтин Буров

11
І показати це так .. b.setVisibility (View.VISIBLE);
Зар Е Ахмер

37

Спочатку зробіть кнопку невидимою у XML-файлі. Потім встановіть кнопку, яку ви побачите в коді Java, якщо потрібно.

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

Я хочу зробити кнопку невидимою, але це повинно бути доступним для діяльності, подібно до супер секретної кнопки. Він не повинен виявляти активність, але кнопка повинна працювати
Самрат Мазумдар

1
Використовуйте "buttonCleanup.setVisibility (View.VISIBLE);" замість нуля.
Вінсент

17

Щоб видалити кнопку в коді Java :

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

Для прозорої кнопки в коді Java :

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

Щоб видалити кнопку у файлі Xml :

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

Для прозорої кнопки у файлі Xml :

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


12

Цей вид видно.

button.setVisibility(View.VISIBLE);

Цей погляд невидимий, і він не займає місця для цілей компонування.

button.setVisibility(View.GONE); 

Але якщо ви просто хочете зробити це невидимим:

button.setVisibility(View.INVISIBLE);

4

використовувати setVisibility в кнопці або зображенніViwe або .....
Щоб видалити кнопку в коді Java:

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

До прозорої кнопки в коді Java

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


Ви повинні зробити вам XML-код, як показано нижче:

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


приховано:
видимість: пройшло
шоу:
видимість: невидимість
видимість: видно


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

Робить його видимим, якщо невидимим, а невидимим - якщо видимим


1

Елементи керування переглядами (TextView, EditText, кнопка, зображення тощо) мають властивість видимості. Тут можна встановити одне з трьох значень:

Видимий - відображається

android:visibility="visible"

Невидимий - прихований, але простір зарезервований

android:visibility="invisible"

Пройшов - Приховано повністю

android:visibility="gone"

Для встановлення видимості в коді використовуйте загальнодоступну константу, доступну в статичному класі View:

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

0

Щоб повністю видалити кнопку з батьківського макета:

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

Спробуйте цей код

Видимість добре працює в цьому коді


0

Якщо ви хочете зробити невидиму кнопку, тоді скористайтеся цією:

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

View.INVISIBLE:

Кнопка стане прозорою. Але це займає місце.

View.GONE

Кнопку буде повністю видалено з макета, і ми можемо додати інший віджет замість знятої кнопки.


0

Для доступу до елементів іншого класу ви можете просто скористатися

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


-2

Спробуйте цей код:

button.setVisibility(View.INVISIBLE);

9
ви дійсно не повинні використовувати жорстко закодовані значення в цьому методі - просто використовуйте Константи - View.GONE, View.VISIBLE або View.INVISIBLE
bkurzius
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.