Android Dialog详解及实例代码
发布时间 - 2026-01-11 00:53:32 点击率:次Android Dialog详解及实例代码

概述:
Android开发中最常用的就是Dialog类,除了自定义dialog布局,最多的就是用在弹出对话框、进度条、输入框、单选、复选框。
1、选择对话框:
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("选择对话框");
dialog.setMessage("请选择确认或取消");
dialog.setCancelable(false); //设置按下返回键不能消失
dialog.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您选择了确认", Toast.LENGTH_LONG).show();
}
});
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您选择了取消", Toast.LENGTH_LONG).show();
}
});
dialog.show();//显示弹出窗口
2、进度条
ProgressDialog progressDialog = new ProgressDialog(this);
progressDialog.setTitle("显示进度条");
progressDialog.setMessage("加载中...");
progressDialog.setCancelable(true);
progressDialog.show();
3、弹出输入框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("弹出输入框");
builder.setMessage("输入内容");
final EditText editText = new EditText(this);
builder.setView(editText);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您输入了" + editText.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", null);
builder.show();
4、弹出单选框
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("弹出单选框");
final String[] choice = new String[]{"Java", "C++", "PHP"};
builder.setSingleChoiceItems(choice, 0,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "您选择了" + choice[which], Toast.LENGTH_LONG).show();
dialog.dismiss(); // 让窗口消失
}
});
builder.create().show();
5、弹出复选框
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("弹出多选框");
final String[] choice = new String[]{"Android", "IOS", "Windos Phone"}; // 选择项
final boolean[] isCheck = new boolean[choice.length]; // 是否被选中
builder.setMultiChoiceItems(choice, null,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked == true)
isCheck[which] = true;
else if(isChecked == false)
isCheck[which] = false;
}
});
builder.setNegativeButton("取消", null);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String isSelected = "您选择了";
for (int i = 0; i < choice.length; i++) {
if (isCheck[i] == true) {
isSelected += choice[i]+","; // 将选择的内容加上
}
}
Toast.makeText(MainActivity.this, isSelected, Toast.LENGTH_LONG).show();
}
});
builder.create();
builder.show();
6、自定义布局的Dialog
AlertDialog.Builder builder = new AlertDialog.Builder(this);
final AlertDialog dialog = builder.create();
View view = View.inflate(this, R.layout.personal_modifyhead_dialog, null);
dialog.setView(view, 0, 0, 0, 0);// 设置边距为0,保证在2.x的版本上运行没问题
dialog.show();
AutoRelativeLayout rl_photograph = (AutoRelativeLayout) view.findViewById(R.id.rl_photograph);
rl_photograph.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
presenter.modiftHeadFromPhotograph();
dialog.dismiss();
}
});
AutoRelativeLayout rl_album = (AutoRelativeLayout) view.findViewById(R.id.rl_album);
rl_album.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
presenter.modifyHeadFromAlbum();
dialog.dismiss();
}
});
上面就是日常开发中常用的一些,在此记录,以便日后查询。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Android
# Dialog
# Dialog详解
# Dialog简单实例
# android控件封装 自己封装的dialog控件
# android中ProgressDialog与ProgressBar的使用详解
# Android中自定义对话框(Dialog)的实例代码
# Android实现点击AlertDialog上按钮时不关闭对话框的方法
# Android中Dialog去黑边的方法
# android dialog自定义实例详解
# android自由改变Dialog窗口位置的方法
# Android开发笔记之:Dialog的使用详解
# 探讨:你真的会用Android的Dialog吗?
# 弹出
# 选择了
# 对话框
# 输入框
# 进度条
# 自定义
# 复选框
# 最多
# 在此
# 单选框
# 希望能
# 请选择
# 按下
# 谢谢大家
# 用在
# 最常用
# 多选
# 弹出窗口
# 单选
# 日后
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
如何在云虚拟主机上快速搭建个人网站?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
如何在Windows服务器上快速搭建网站?
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
bing浏览器学术搜索入口_bing学术文献检索地址
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
,网页ppt怎么弄成自己的ppt?
Laravel如何生成URL和重定向?(路由助手函数)
linux top下的 minerd 木马清除方法
Laravel如何实现API资源集合?(Resource Collection教程)
如何用JavaScript实现文本编辑器_光标和选区怎么处理
详解jQuery中基本的动画方法
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
香港服务器网站推广:SEO优化与外贸独立站搭建策略
Laravel如何实现事件和监听器?(Event & Listener实战)
Laravel如何自定义错误页面(404, 500)?(代码示例)
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
智能起名网站制作软件有哪些,制作logo的软件?
教你用AI将一段旋律扩展成一首完整的曲子
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
如何在局域网内绑定自建网站域名?
如何快速搭建高效简练网站?
Python数据仓库与ETL构建实战_Airflow调度流程详解
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
Java类加载基本过程详细介绍
Laravel如何使用Gate和Policy进行授权?(权限控制)
IOS倒计时设置UIButton标题title的抖动问题
佛山网站制作系统,佛山企业变更地址网上办理步骤?
在centOS 7安装mysql 5.7的详细教程
Laravel中的withCount方法怎么高效统计关联模型数量
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
如何确保FTP站点访问权限与数据传输安全?
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
使用豆包 AI 辅助进行简单网页 HTML 结构设计
JS实现鼠标移上去显示图片或微信二维码
如何快速搭建高效可靠的建站解决方案?
如何在建站之星网店版论坛获取技术支持?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Android Socket接口实现即时通讯实例代码
javascript中的try catch异常捕获机制用法分析

