Метод setVisibility
Метод setVisibility класса
View
принимает View.VISIBLE,
View.INVISIBLE или View.GONE.
При GONE элемент не рисуется
и не занимает место в layout.
При INVISIBLE место остаётся,
но содержимое не видно.
Тот же эффект даёт атрибут android:visibility в XML.
Синтаксис
view.setVisibility(View.GONE)
Параметры
| Параметр | Описание |
|---|---|
visibility |
Константа VISIBLE, INVISIBLE
или GONE.
|
Пример
Давайте спрячем подпись по нажатию на кнопку:
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val label = findViewById<TextView>(R.id.label)
val action = findViewById<Button>(R.id.action)
action.setOnClickListener {
label.visibility = View.GONE
}
}
}
На экране после нажатия текст "abcde"
исчезнет и освободит место в layout.
Пример
Давайте снова покажем элемент через VISIBLE:
import android.os.Bundle
import android.view.View
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val label = findViewById<TextView>(R.id.label)
label.visibility = View.GONE
label.postDelayed({
label.visibility = View.VISIBLE
}, 1500)
}
}
На экране подпись сначала пропадёт, через полторы секунды снова появится.
Смотрите также
-
класс
View,
у которого меняют visibility -
метод
setEnabled,
который отключает элемент, но оставляет его видимым -
метод
findViewById,
которым получают View перед setVisibility -
класс
LinearLayout,
где соседи сдвигаются после GONE