Как удалить элемент из layout-а программно

| 26.06.2014

Мы можем управлять видимостью элементов в layout непосредственно из кода, вплоть до того, что мы можем совсем удалить какой-то элемент программно. Делается это с помощью метода setVisibility(int), где в качестве аргумента мы передаем одно из трех значений:

VISIBLE — делает элемент видимым
INVISIBLE — элемент становится невидимым, но он по-прежнему занимает место в layout, т.е. мы увидим пустое место
GONE — элемент полностью удаляется из layout, освобождая место. Пример:

1
btnSave.setVisibility(View.GONE); // удаляем кнопку

Давайте создадим layout с кнопкой. При запуске приложения программно удалим кнопку.

layout — res/layout/activity_main.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
 
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name" />
 
 </LinearLayout>

MainActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package ru.androiddocs.remove;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
 
 
public class MainActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Button btn = (Button) findViewById(R.id.button1);
        btn.setVisibility(View.GONE);
    }
}

После запуска приложения на экране мы ничего не увидим, т.к. кнопка была удалена программно.

Как удалить элемент из layout-а программно

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

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

*