Класс LayoutInflater
Класс LayoutInflater
читает XML файл layout
и строит объекты View.
Экземпляр берут через
from,
разметку создают
inflate.
Так же работает setContentView(R.layout.activity_main)
внутри активности.
В
onCreateViewHolder
inflate создаёт один пункт списка.
Синтаксис
val inflater = LayoutInflater.from(context)
val root = inflater.inflate(R.layout.activity_main, null)
Методы
| Метод | Описание |
|---|---|
from |
Статический метод, возвращает LayoutInflater для Context. |
inflate |
Создаёт View из ресурса layout. |
Пример
Давайте раздуем простой layout с TextView:
import android.os.Bundle
import android.view.LayoutInflater
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val root = LayoutInflater.from(this)
.inflate(R.layout.activity_main, null)
setContentView(root)
val label = root.findViewById<TextView>(R.id.label)
label.text = "abcde"
}
}
На экране появится разметка activity_main,
текст label станет "abcde".
Смотрите также
-
метод
inflate,
который строит View из XML -
метод
findViewById,
которым ищут View после inflate -
класс
View,
корень дерева после inflate -
метод
onCreateViewHolder,
где inflate создаёт item layout