作者:marco112977 | 来源:互联网 | 2023-09-09 13:09
AlertDialog可以在当前界面上弹出一个对象框,此对话框置于所有界面上面,且可以屏蔽他们的交互能力。一般用于一些重要的提示内容。AlertDialog不用在布局文件中声明,而
AlertDialog可以在当前界面上弹出一个对象框,此对话框置于所有界面上面,且可以屏蔽他们的交互能力。一般用于一些重要的提示内容。
AlertDialog不用在布局文件中声明,而是通过代码文件中的构造器来生成并显示。
下面的代码展示了AlertDialog的基本使用方法。
总结一下,使用AlertDialog的基本步骤。
- 创建一个
AlertDialog.Builder()
对象。
- 设置title和message等。
- 设置按钮的监听器。
- 调用
show()
方法显示之。
修改按钮颜色的方法
调用AlertDialog的getButton
就可以得到一个Button对象,然后就可以设置啦。值得注意的是,设置方法之前应该调用show()
方法,因为次方法才能返回AlertDialog对象。
package com.example.alertdialog import android.graphics.Color import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Toast import androidx.appcompat.app.AlertDialog import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) btn.setOnClickListener { createAlertDialog() } } public fun createAlertDialog() { val builder = AlertDialog.Builder(this) builder.setTitle("这是一个对话框") builder.setMessage("这是对话框的内容") builder.setPositiveButton("确定") { dialogInterface, i -> Toast.makeText(this, "你点击了确定按钮", Toast.LENGTH_SHORT).show() } builder.setNegativeButton("取消") { dialogInterface, i -> Toast.makeText(this, "你点击了取消按钮", Toast.LENGTH_SHORT).show() } builder.setNeutralButton("中立") { dialogInterface, i -> Toast.makeText(this, "你点击了中立按钮", Toast.LENGTH_SHORT).show() } val dialog = builder.show() dialog.getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(Color.RED) dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setTextColor(Color.GREEN) dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setTextColor(Color.YELLOW) } }