1、使用setContentView
class MyCustomDialog(context: Context) : Dialog(context) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 加载 XML 布局
setContentView(R.layout.dialog_layout)
// 初始化控件
val button: Button = findViewById(R.id.dialogButton)
button.setOnClickListener {
// 按钮点击事件
dismiss() // 关闭对话框
}
}
}
2、使用View Binding
class MyCustomDialog(context: Context) : Dialog(context) {
private lateinit var binding: DialogCustomBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 加载 XML 布局并获取绑定对象
binding = DialogCustomBinding.inflate(layoutInflater)
setContentView(binding.root)
// 初始化控件
binding.dialogButton.setOnClickListener {
// 按钮点击事件
dismiss() // 关闭对话框
}
}
}
3、使用Data Binding
class MyCustomDialog(context: Context) : Dialog(context) {
private lateinit var binding: DialogCustomBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// 使用 Data Binding 加载 XML 布局
binding = DataBindingUtil.inflate(layoutInflater, R.layout.dialog_custom, null, false)
setContentView(binding.root)
// 初始化控件
binding.dialogButton.setOnClickListener {
// 按钮点击事件
dismiss() // 关闭对话框
}
}
}