普通对话框:
//点击事件
pt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//创建窗口,通过AlertDialog.Builder这个类实例化我们一个AlertDialog对象
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
//设置窗体
builder.setTitle("这是一个普通对话框");
builder.setIcon(R.mipmap.ic_launcher);
builder.setMessage("这是窗口内容");
//设置取消按钮
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//吐司弹窗提示点击取消
Toast.makeText(MainActivity.this, "点击了取消", Toast.LENGTH_SHORT).show();
}
});
//设置确定按钮
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//吐司弹窗提示点击了确定按钮
Toast.makeText(MainActivity.this, "点击了确定", Toast.LENGTH_SHORT).show();
}
});
//显示出来
builder.show();
}
});
单选对话框:
//点击事件
dx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//通过AlertDialog.Builder这个类实例化我们一个AlertDialog对象
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("请选择你所在的城市:");//设置标题
final String[] citys = {"漳州", "厦门", "泉州"};//定义选项
//设置单选框窗口
builder.setSingleChoiceItems(citys, 0, new DialogInterface.OnClickListener() {//citys:citys数组
//0:默认选中数组下标为0的那个值,不设置默认值设:-1
@Override
public void onClick(DialogInterface dialog, int which) {
//吐司弹窗
Toast.makeText(MainActivity.this, "你选择城市为:" + citys[which], Toast.LENGTH_SHORT).show();
}
});
//取消按钮
builder.setNegativeButton("取消", null);
//确定按钮
builder.setPositiveButton("确定", null);
//显示出来
builder.show();
}
});
多选对话框
//点击事件
danx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("多选消息框");
String[] like = {"篮球", "排球", "足球", "活塞运动"};
boolean[] checkedItems = {true, false, false, true};
builder.setMultiChoiceItems(like, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//把选中的条目的数据取出来
//StringBuffer sb = new StringBuffer();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.show();
}
});
多选对话框:
MainActivity:
//点击事件
diy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyDialog myDialog = new MyDialog(MainActivity.this);
myDialog.setTitle("小肥娃提醒您:");
myDialog.setMsg("行车不规范,亲人两行泪");
myDialog.show();
}
});
MyMyDialog类:
package com.example.xiaofeiwa.xiaoxikuang;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MyDialog extends Dialog {
private TextView tvTitle;//标题文本框
private TextView tvMsg;//提示内容文本框
private Button btnOk;//确认按钮
private Button btnCancel;//取消按钮
private String title;
public void setTitle(String title) {
this.title = title;
}
public void setMsg(String msg) {
this.msg = msg;
}
private String msg;
public MyDialog(@NonNull Context context) {
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//去掉原有的标题
requestWindowFeature(Window.FEATURE_NO_TITLE);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
//设置对话框的布局
setContentView(R.layout.my_dialog);
//初始化控件
tvTitle = findViewById(R.id.tvTitle);
tvMsg = findViewById(R.id.tvMsg);
btnOk = findViewById(R.id.btnOK);
btnCancel = findViewById(R.id.btnCancel);
// 设置文本框文本
tvTitle.setText(title);
tvMsg.setText(msg);
btnOk.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), "您点击了确认按钮", Toast.LENGTH_SHORT).show();
dismiss();
}
});
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getContext(), "您点击了取消按钮", Toast.LENGTH_SHORT).show();
dismiss();
}
});
}
}
自定义布局代码:
主布局代码: