在 Android 开发中,LayoutInflater
是一个非常重要的工具。它允许我们从 XML 布局文件中动态地创建 View 对象,从而使得 UI 的创建和管理更加灵活。本文将深入解析 android.view.LayoutInflater
,包括它的基本用法、常见问题以及高级用法。
什么是 LayoutInflater?
LayoutInflater
是 Android 提供的一个类,用于将 XML 布局文件解析成对应的 View 对象。它通常用于 Activity 和 Fragment 中,通过代码动态地创建和操作 UI 元素。
基本用法
LayoutInflater
的基本用法非常简单,通常有以下几种方式:
从 Activity 获取 LayoutInflater
val inflater = LayoutInflater.from(this)
// 或者
val inflater = this.layoutInflater
从 Context 获取 LayoutInflater
val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
从 Fragment 获取 LayoutInflater
val inflater = requireActivity().layoutInflater
常见用法示例
在 Activity 中使用 LayoutInflater
在 Activity 中,我们可以使用 LayoutInflater
来动态地加载布局,例如在一个 LinearLayout
中添加多个子视图:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val container = findViewById<LinearLayout>(R.id.container)
val inflater = LayoutInflater.from(this)
val itemView