请选择 进入手机版 | 继续访问电脑版

广州老站长门户

 找回密码
 立即注册
查看: 123|回复: 13

Android常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)

[复制链接]

1

主题

1

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2020-12-27 12:30:01 | 显示全部楼层 |阅读模式
目录

一、提示信息对话框:

二、单选对话框:

三、多选对话框:

四、自定义对话框:

演示项目完整代码:

一、提示信息对话框:





//显示提示消息对话框

private  void  showMsgDialog() {

//创建提示对话框构造器建设者对象,AlertDialog建议使用android.support.v7.app包下的。

AlertDialog  .生成器生成器=新警报对话框.建设者(此);

//设置对话框标题

builder.setTitle('提示信息对话框');

//设置提示信息

builder.setMessage('是否确定退出!');

//设置对话框图标

建筑工人。seticon(r  . MIP映射。IC  _发射器);

//添加确定按钮

builder.setPositiveButton('确定,新对话界面OnClickListener() {

@覆盖

public  void  OnClick(DialogInterface  dialog,int  while){

//添加确定按钮点击的处理代码

吐司。制作文本(主要活动。“这个,”点击了确定!',吐司长度_短).show();

}

});

//添加取消按钮

builder.setNegativeButton('取消,null);

//创建并显示对话框

建筑工人。show();

}

二、单选对话框:





//显示单选对话框

private  void  showsinglectionedialog(){

//创建提示对话框构造器建设者对象,AlertDialog建议使用android.support.v7.app包下的。

AlertDialog  .生成器生成器=新警报对话框.建设者(此);

//设置对话框标题

builder.setTitle('请选择性别');

//设置对话框图标

建筑工人。seticon(r  . MIP映射。IC  _发射器);

最终字符串[]x=新字符串[]{ '男', '女'};

//设置单选选项

建筑工人。setsinglectioneitems(sexs,0,新对话界面.OnClickListener() {

@覆盖

public  void  OnClick(DialogInterface  dialog,int  while){

吐司。制作文本(主要活动。“这个,”您选择了:'赛克斯[哪],吐司长度_短).show();

}

});

//添加确定按钮

builder.setPositiveButton('确定,null);

//创建并显示对话框

建筑工人。show();

}

三、多选对话框:





//显示多选对话框

private  void  showmulociodialog(){

//创建提示对话框构造器建设者对象,AlertDialog建议使用android.support.v7.app包下的。

AlertDialog  .生成器生成器=新警报对话框.建设者(此);

//设置对话框标题

builder.setTitle('请选择传感器');

//设置对话框图标

建筑工人。seticon(r  . MIP映射。IC  _发射器);

最终字符串[]传感器=新字符串[]{ '温湿度传感器', '光照传感器,' CO2传感器','风速传感器'};

//设置多选选项

建筑工人。setmulociocities(传感器,新布尔值[]{false,true,true,false},新对话界面.onMultiChieclistener(){

@覆盖

public  void  OnClick(DialogInterface  dialog,int  which,boolean  isChecked) {

}

});

//添加确定按钮

builder.setPositiveButton('确定,null);

//创建并显示对话框

建筑工人。show();

}

四、自定义对话框:

自定义对话框布局:





?xml版本='1.0 '编码='utf-8 '?

线性布局xmlns  : Android=' http://模式。安卓。' com/apk/RES/Android  '

Android  :布局_宽度=' 300 DP  '

Android  : layout  _ height=' wrap  _ content  '

androd  :方向='垂直'

带边框的

android:id='@ id/tvTitle  '

Android  : layout  _ width=' match  _ parent  '

Android  : layout  _ height=' wrap  _ content  '

android:background=' # 2372c1 '

android:gravity重力重心='中心'

' android:text='提示'

android:padding=' 5dp  '

android:textColor='#fff  '

android:textSize='25sp' /

带边框的

android:id='@ id/tvContent  '

Android  : layout  _ width=' match  _ parent  '

Android  :布局_高度=' 200 DP  '

android:gravity重力重心='中心'

' android:text='自定义对话框内容' /

线形布局

Android  : layout  _ width=' match  _ parent  '

Android  : layout  _ height=' wrap  _ content  '

androd  :背景=' # c0c  0 c  0 '

android:gravity重力重心='中心'

androd  :方向='水平'

按钮

android:id='@ id/btnOk  '

Android  : layout  _ width=' wrap  _ content  '

Android  : layout  _ height=' wrap  _ content  '

' android:text='确定' /

按钮

android:id='@ id/btnCancel  '

Android  : layout  _ width=' wrap  _ content  '

Android  : layout  _ height=' wrap  _ content  '

androd  :布局_左边距=' 20dp  '

' android:text='取消' /

/LinearLayout

/LinearLayout

我的对话。爪哇岛

package  com新大陆。dialogdemo

导入安卓。app。对话框;

导入安卓。内容。背景;

导入安卓。OS。捆绑;

导入安卓。视图。视图;

导入安卓。视图。窗口;

导入安卓。小工具。按钮;

导入安卓。小工具。TextView

公共类我的对话扩展了对话框{

私有字符串标题;

私有字符串内容;

私人文本查看电视标题;

私人文本查看电视内容;

私人按钮确定

私有按钮取消

公共我的对话(上下文上下文上下文){

超级(上下文);

}

@覆盖

受保护的无效创建(捆绑保存实例){

超级。OnCreate(SaveDinstancestate);

//去除标题

请求窗口功能(窗口. FEATURE  _ NO  _ TITLE);

//引入自定义对话框布局

setContentView(r  . layout。my  _ dialog);

//初始化控件

initView();

//设置标题

tvTitle.setText(标题);

//设置内容

tvContent.setText(内容);

//注册确认按钮监听器

btnOk.setOnClickListener(新视图OnClickListener() {

@覆盖

公共void  onClick(视图v) {

//点击确认时的操作

}

});

//注册取消按钮监听器

btnCancel.setOnClickListener(新视图OnClickListener() {

@覆盖

公共void  onClick(视图v) {

//关闭对话框

dispose();

}

});

}

//初始化控件

private  void  initView() {

tvTitle=findViewById(r  . id。tvTitle);

tvContent=findViewById(r  . id。tvContent);

btnOk=findViewById(r  . id。btnOk);

btnCancel=findViewById(r  . id。btnCancel);

}

public  void  setTitle(字符串标题){

this.title=title

}

public  void  setContent(字符串内容){

this.content=content

}

}

主要活动.爪哇岛

//显示自定义对话框

private  void  showCustomDialog() {

my  dialog  dialog=new  my  dialog(this);

dialog.setTitle('自定义对话框');

dialog.setContent('你好!这里是自定义对话框!');

对话。show();

}

演示项目完整代码:





?xml版本='1.0 '编码='utf-8 '?

线性布局xmlns  : Android=' http://模式。安卓。' com/apk/RES/Android  '

Android  : layout  _ width=' match  _ parent  '

Android  : layout  _ height=' match  _ parent  '

androd  :方向='垂直'

按钮

Android  : id=' @ id/BtNshowmsGDLG  '

Android  : layout  _ width=' match  _ parent  '

Android  : layout  _ height=' wrap  _ content  '

' android:text='提示信息对话框'/

按钮

Android  : id=' @ id/BtNshowSingleDLG  '

Android  : layout  _ width=' match  _ parent  '

Android  : layout  _ height=' wrap  _ content  '

' android:text='单选对话框'/

按钮

Android  : id=' @ id/BtNshowMultiLG  '

Android  : layout  _ width=' match  _ parent  '

Android  : layout  _ height=' wrap  _ content  '

' android:text='多选对话框'/

按钮

Android  : id=' @ id/BtNshousTomDLG  '

Android  : layout  _ width=' match  _ parent  '

Android  : layout  _ height=' wrap  _ content  '

' android:text='自定义对话框'/

/LinearLayout

package  com新大陆。dialogdemo

导入安卓。内容。对话界面;

导入安卓。支持。v  7。app。alertdialog

导入安卓。支持。v  7。app。AppCompactivity

导入安卓。OS。捆绑;

导入安卓。视图。视图;

导入安卓。小工具。按钮;

导入安卓。小工具。吐司;

公共类主要活动扩展AppCompatActivity实现视图.OnClickListener  {

//显示提示信息对话框按钮

私有按钮btnShowMsgDlg

//显示单选对话框按钮

私有按钮btnShowSingleDlg

//显示多选对话框按钮

私有按钮btnShowMultiDlg

//显示自定义对话框按钮

私有按钮btnShowCustomDlg

@覆盖

受保护的无效创建(捆绑保存实例){

超级。OnCreate(SaveDinstancestate);

setContentView(r  . layout。activity  _ main);

//初始化视图以及监听器

initView();

}

//初始化视图以及监听器

private  void  initView() {

//初始化控件

btnShowMsgDlg=FindViewByID(r  . id。btnShowMsgDlg);

btnshowsingledg=FindViewByID(r  . id。btnshowsingledg);

btnshowmodlg=findViewById(r  . id。btnshowmodlg);

btnshowcustdlg=FindViewByID(r  . id。btnshowcustdlg);

//注册按钮监听器

btnshowmsgdlg。setonclicklistener(this);

btnshowsingledlg。setonclicklistener(this);

btnshowdulg。setonclicklistener(this);

btnshowcustdlg。setonclicklistener(this);

}

@覆盖

公共void  onClick(视图v) {

switch  (v.getId()) {

case  R.id.btnShowMsgDlg: //显示提示信息对话框按钮

showMsgDialog();

打破;

病历号。btnshowsingledg  ://显示单选对话框按钮

showsinglectionedialog();

打破;

病历号。btnshowdulg  ://显示多选对话框按钮

showmulociodialog();

打破;

病历号。btnshowcustomdlg  ://显示自定义对话框按钮

showCustomDialog();

打破;

}

}

//显示提示消息对话框

private  void  showMsgDialog() {

//创建提示对话框构造器建设者对象,AlertDialog建议使用android.support.v7.app包下的。

AlertDialog  .生成器生成器=新警报对话框.建设者(此);

//设置对话框标题

builder.setTitle('提示信息对话框');

//设置提示信息

builder.setMessage('是否确定退出!');

//设置对话框图标

建筑工人。seticon(r  . MIP映射。IC  _发射器);

//添加确定按钮

builder.setPositiveButton('确定,新对话界面OnClickListener() {

@覆盖

public  void  OnClick(DialogInterface  dialog,int  while){

//添加确定按钮点击的处理代码

吐司。制作文本(主要活动。“这个,”点击了确定!',吐司长度_短).show();

}

});

//添加取消按钮

builder.setNegativeButton('取消,null);

//创建并显示对话框

建筑工人。show();

}

//显示单选对话框

private  void  showsinglectionedialog(){

//创建提示对话框构造器建设者对象,AlertDialog建议使用android.support.v7.app包下的。

AlertDialog  .生成器生成器=新警报对话框.建设者(此);

//设置对话框标题

builder.setTitle('请选择性别');

//设置对话框图标

建筑工人。seticon(r  . MIP映射。IC  _发射器);

最终字符串[]x=新字符串[]{ '男', '女'};

//设置单选选项

建筑工人。setsinglectioneitems(sexs,0,新对话界面.OnClickListener() {

@覆盖

public  void  OnClick(DialogInterface  dialog,int  while){

吐司。制作文本(主要活动。“这个,”您选择了:'赛克斯[哪],吐司长度_短).show();

}

});

//添加确定按钮

builder.setPositiveButton('确定,null);

//创建并显示对话框

建筑工人。show();

}

//显示多选对话框

private  void  showmulociodialog(){

//创建提示对话框构造器建设者对象,AlertDialog建议使用android.support.v7.app包下的。

AlertDialog  .生成器生成器=新警报对话框.建设者(此);

//设置对话框标题

builder.setTitle('请选择传感器');

//设置对话框图标

建筑工人。seticon(r  . MIP映射。IC  _发射器);

最终字符串[]传感器=新字符串[]{ '温湿度传感器', '光照传感器,' CO2传感器','风速传感器'};

//设置多选选项

建筑工人。setmulociocities(传感器,新布尔值[]{false,true,true,false},新对话界面.onMultiChieclistener(){

@覆盖

public  void  OnClick(DialogInterface  dialog,int  which,boolean  isChecked) {

}

});

//添加确定按钮

builder.setPositiveButton('确定,null);

//创建并显示对话框

建筑工人。show();

}

//显示自定义对话框

private  void  showCustomDialog() {

my  dialog  dialog=new  my  dialog(this);

dialog.setTitle('自定义对话框');

dialog.setContent('你好!这里是自定义对话框!');

对话。show();

}

}
回复

使用道具 举报

0

主题

76

帖子

154

积分

注册会员

Rank: 2

积分
154
发表于 2020-12-27 12:33:09 | 显示全部楼层
难得一见的好帖
回复

使用道具 举报

1

主题

66

帖子

135

积分

注册会员

Rank: 2

积分
135
发表于 2020-12-27 12:53:17 | 显示全部楼层
有竞争才有进步嘛
回复

使用道具 举报

1

主题

66

帖子

135

积分

注册会员

Rank: 2

积分
135
发表于 2020-12-27 13:24:15 | 显示全部楼层
学习了,不错,讲的太有道理了
回复

使用道具 举报

0

主题

82

帖子

166

积分

注册会员

Rank: 2

积分
166
发表于 2020-12-27 14:11:47 | 显示全部楼层
相当不错,感谢无私分享精神!
回复

使用道具 举报

0

主题

71

帖子

144

积分

注册会员

Rank: 2

积分
144
发表于 2020-12-27 14:43:24 | 显示全部楼层
帮你顶下哈!!
回复

使用道具 举报

0

主题

87

帖子

176

积分

注册会员

Rank: 2

积分
176
发表于 2020-12-27 15:22:32 | 显示全部楼层
过来看看的
回复

使用道具 举报

1

主题

73

帖子

149

积分

注册会员

Rank: 2

积分
149
发表于 2020-12-27 15:42:46 | 显示全部楼层
不错,支持下楼主
回复

使用道具 举报

1

主题

73

帖子

149

积分

注册会员

Rank: 2

积分
149
发表于 2020-12-27 16:16:28 | 显示全部楼层
帮你顶下哈!!
回复

使用道具 举报

0

主题

76

帖子

154

积分

注册会员

Rank: 2

积分
154
发表于 2020-12-27 16:40:31 | 显示全部楼层
不错不错,很好哦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|无图版|手机版|小黑屋|广州@IT精英团

GMT+8, 2021-1-18 05:55 , Processed in 0.136390 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表