Как сделать кнопку/строку/элемент невидимым Android Studio (visability)

Небольшая заметка про невидимость элементов. Будем рассматривать на примере кнопок, но можно применить практически ко всем элементам представления (View), то есть текстовым полям, переключателям, Layout-ам и т.д.

Если коротко, используем в XML свойство android: visability которое может принимать три значения visible (по умолчанию), invisible (невидимый), gone (тоже не видимый, но в данном случае место под элемент тоже будет скрыто). В программировании обращаемся через свойство setVisability, которое так же принимает три значения: View.VISIBLE, View.INVISIBLE, View.GONE.

 

  1. На LinearLayout помещаем 4 кнопки. Назовем их по порядку:

 

2. Теперь для кнопки 2 установим visability = «invisible», для кнопки 3 — visability = «gone»

3. Еще раз смотрим на предварительный просмотр. Ситуация изменилась: мы видим место под кнопку 2, но самой кнопки нет. Под кнопку 3 место даже не выделено и она скрыта.

4. Уберем добавленные в xml строки и изменим свойство элементов программно (дополнительно по нажатию кнопки 1 отобразим кнопку 2, по нажатию кнопки 4 отобразим кнопку 3):

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button2 = (Button) findViewById(R.id.button2);
        Button button3 = (Button) findViewById(R.id.button3);
        button2.setVisibility(View.INVISIBLE);
        button3.setVisibility(View.GONE);

    }
}

Результат получился идентичным, как в XML файле. В разных ситуациях требуются разные типы невидимости, поэтому и Gone, и Invisible оказываются полезными.

 

 

 

You may also like...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *