Android中Dialog对话框的使用小结

家电修理 2023-07-16 19:17www.caominkang.com电器维修

前言

最近有些空时间,所以花了一个小时对Dialog对话框使用小结一下,比较基础,电脑维修网希望对你学习有帮助,大牛请直接关闭网页。如果你是新手,建议你亲自敲一遍代码。

先看一下效果


Dialog对话框使用小结

一、普通对话框

alertDialog.Builder builder = ne alertDialog.Builder(activity);
builder.setTitle("温馨提示");//标题
builder.setMessage("天气冷,注意保暖");
builder.setIcon(R.mipmap.ic_launcher);
builder.create();
builder.sho();

普通对话框

二、确定取消对话框

builder.setTitle("确定取消对话框");
builder.setMessage("请选择确定或取消");
builder.setIcon(R.mipmap.ic_launcher);
builder.setPositiveButton("确定", ne DialogInterface.onClickListener() {
 //正能量按钮 Positive
 @Override
 public void onClick(DialogInterface dialog, int hich) {
 Toast.makeText(activity, "你点击了确定", Toast.LENGTH_SHORT).sho();
 }
});
builder.setNegativeButton("取消", ne DialogInterface.onClickListener() {
 @Override
 public void onClick(DialogInterface dialog, int hich) {
 Toast.makeText(activity, "你选择了取消", Toast.LENGTH_SHORT).sho();
 }
});
builder.create().sho();

确定取消对话框

三、多按钮对话框

builder.setTitle("多个按钮对话框");
builder.setMessage("请选择");
builder.setIcon(R.mipmap.ic_launcher);
builder.setPositiveButton("我没玩够", ne DialogInterface.onClickListener() {

 @Override
 public void onClick(DialogInterface dialog, int hich) {
 Toast.makeText(activity, "继续浏览精彩内容", Toast.LENGTH_SHORT).sho();
 }
});
builder.setNeutralButton("开启", ne DialogInterface.onClickListener() {

 @Override
 public void onClick(DialogInterface dialog, int hich) {
 Toast.makeText(activity, "起床了", Toast.LENGTH_SHORT).sho();
 }
});
builder.setNegativeButton("我累了,要休息一下", ne DialogInterface.onClickListener() {

 @Override
 public void onClick(DialogInterface dialog, int hich) {
 Toast.makeText(activity, "欢迎再来", Toast.LENGTH_SHORT).sho();
 }
});
builder.create().sho();

多按钮对话框

四、列表对话框

final String arrItem[] = getResources().getStringArray(R.array.aikaifa);
builder.setItems(arrItem, ne DialogInterface.onClickListener() {

 @Override
 public void onClick(DialogInterface dialog, int hich) {
 Toast.makeText(activity, "你选择了第" + arrItem[hich], Toast.LENGTH_SHORT).sho();
 }
});
builder.create().sho();

列表对话框

五、带Adapter的对话框

builder.setTitle("带Adapter的对话框");
builder.setIcon(R.mipmap.ic_launcher);
final List> list = ne ArrayList>();
int arrImg[] = {R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher,
 R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher,
 R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher};
for (int i = 0; i < arrImg.length; i++) {
 Map map = ne HashMap();
 map.put("img", arrImg[i]);
 map.put("title", "爱开发" + i);
 list.add(map);
}
SimpleAdapter adapter = ne SimpleAdapter(activity, list, R.layout.list_item, ne String[]{"img", "title"}, ne int[]{R.id.iv, R.id.tv});
builder.setAdapter(adapter, ne DialogInterface.onClickListener() {
 @Override
 public void onClick(DialogInterface dialog, int hich) {
 Toast.makeText(activity, "你选择了" + list.get(hich).get("title").toString().trim(), Toast.LENGTH_SHORT).sho();
 }
});
builder.create().sho();

带Adapter的对话框

六、单选对话框

builder.setTitle("单选对话框");
builder.setIcon(R.mipmap.ic_launcher);
builder.setSingleChoiceItems(R.array.aikaifa, 0, ne DialogInterface.onClickListener() {

 @Override
 public void onClick(DialogInterface dialog, int hich) {
 Toast.makeText(activity, hich+"", Toast.LENGTH_SHORT).sho();
 }
});
builder.setPositiveButton("确定", ne DialogInterface.onClickListener() {
 @Override
 public void onClick(DialogInterface dialog, int hich) {

 }
});
builder.create().sho();

单选对话框

七、多选对话框

builder.setTitle("多选对话框");
builder.setIcon(R.mipmap.ic_launcher);
builder.setMultiChoiceItems(R.array.aikaifa, null, ne DialogInterface.onMultiChoiceClickListener() {

 @Override
 public void onClick(DialogInterface dialog, int hich, boolean isChecked) {
 Toast.makeText(activity, hich+""+isChecked, Toast.LENGTH_SHORT).sho();
 }
});
builder.create().sho();

多选对话框

八、日期对话框

 DatePickerDialog datePickerDialog=ne DatePickerDialog(activity,
 ne DatePickerDialog.onDateSetListener() {

  @Override
  public void onDateSet(DatePicker vie, int year, int monthOfYear,
 int dayOfMonth) {
Toast.makeText(activity,
 year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日", Toast.LENGTH_SHORT).sho();
  }
 },
 2017, 02, 9);
datePickerDialog.sho();

日期对话框

九、时间对话框

TimePickerDialog timePickerDialog=ne TimePickerDialog(activity,
 ne TimePickerDialog.onTimeSetListener() {

  @Override
  public void onTimeSet(TimePicker vie, int hourOfDay, int minute) {
Toast.makeText(activity,
 hourOfDay+"小时"+minute+"分钟", Toast.LENGTH_SHORT).sho();
  }
 },
 17, 49, true);
timePickerDialog.sho();

时间对话框

十、自定义对话框

Vie vie= LayoutInflater.from(activity).inflate(R.layout.dialog_login, null);
builder.setVie(vie);
builder.create();
final EditText et_phone=(EditText)vie.findVieById(R.id.et_phone);
final EditText et_passord=(EditText)vie.findVieById(R.id.et_passord);
Button btn_submit=(Button)vie.findVieById(R.id.btn_submit);
btn_submit.setonClickListener( ne Vie.onClickListener() {
 @Override
 public void onClick(Vie vie) {
 Toast.makeText(activity, "手机号码:"+et_phone.getText().toString()+" 短信验证码:"+et_passord.getText().toString(), Toast.LENGTH_SHORT).sho();
 }
});
builder.sho();

自定义对话框

项目设计到的xml

list_item.xml



 
 

dialog_login.xml




 

 

 

 

  

  
 

 

源码下载

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by