我分别用了5个按钮来演示这五个例子的效果,我先来讲解一下这五个效果分别是什么吧:
- 一个警告对话框上面有两个按钮
- 一个警告对话框上面有两个选项
- 一个警告对话框上面有两个单选按钮
- 一个警告对话框上面有三个多选框和两个按钮
- 一个自定义的警告对话框
在注释中我把警告对话框简写为警告框了,下面来看下完整的代码:
AlertDialogActivity中的代码:
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class AlertDialogActivity extends AppCompatActivity {
private Button mBtn1, mBtn2, mBtn3, mBtn4, mBtn5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alert_dialog);
// 初始化按钮组件
mBtn1 = findViewById(R.id.alert_btn_1);
mBtn2 = findViewById(R.id.alert_btn_2);
mBtn3 = findViewById(R.id.alert_btn_3);
mBtn4 = findViewById(R.id.alert_btn_4);
mBtn5 = findViewById(R.id.alert_btn_5);
onClick onClick = new onClick();
// 给按钮添加监听事件
mBtn1.setOnClickListener(onClick);
mBtn2.setOnClickListener(onClick);
mBtn3.setOnClickListener(onClick);
mBtn4.setOnClickListener(onClick);
mBtn5.setOnClickListener(onClick);
}
class onClick implements View.OnClickListener {
@Override
public void onClick(View v) {
switch (v.getId()) {
// 一个警告框,带两个按钮
case R.id.alert_btn_1:
final AlertDialog.Builder builder = new AlertDialog.Builder(AlertDialogActivity.this);
// 设置标题
builder.setTitle("提示");
//设置内容
builder.setMessage("你想休息吗?");
// 设置一个按和点击事件
builder.setNegativeButton("不想", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(AlertDialogActivity.this, "到12点了必须睡,不管想不想都得执行!", Toast.LENGTH_SHORT).show();
}
});
// 设置一个按钮和点击事件
builder.setPositiveButton("想", new DialogInterface.OnClickListener() {
<