博客
关于我
Android Dialog相关 Demo
阅读量:652 次
发布时间:2019-03-15

本文共 2491 字,大约阅读时间需要 8 分钟。

Android 过渡话题:对话框实现

是的,我最近在学习Android开发时,对话框这一模块的学习给我的留下了深刻的印象。与其他常见的组件相比,对话框的重要性不言而喻,但具体应该如何实现则是个值得探讨的问题。在此文中,我将分享两种典型的对话框实现方式,作为开发者参考。

第一种:最简单的对话框

在开发Android应用时,最简单的对话框通常用于展示关键信息或获取用户的初步选择。在实现过程中,AlertDialog.Builder是一个强大的工具,具有灵活性和易用性。以下是实现简单对话框的完整代码示例:

public void simpleDialog(View source) {    AlertDialog.Builder builder = new AlertDialog.Builder(this)            .setTitle("简单对话框标题")            .setIcon(R.mipmap.ic_launcher)            .setMessage("对话框内容")            .setCancelable(false);    builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {        @Override        public void onClick(DialogInterface dialogInterface, int i) {            // 确定按钮点击事件        }    });    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {        @Override        public void onClick(DialogInterface dialogInterface, int i) {            // 取消按钮点击事件        }    });    builder.setNeutralButton("Neutral", new DialogInterface.OnClickListener() {        @override        public void onClick(DialogInterface dialogInterface, int i) {            // 辅助按钮点击事件        }    });    builder.show();}

第二种:带有列表项的对话框

对于需要在对话框中展示选项的情况,可以使用builder.setItems()方法实现。这种方法适合展示有限的静态选项,开发者可以通过点击不同的选项来触发不同的动作。以下是一个实现带有列表项的对话框的示例代码:

private String[] items = new String[]{"第一项", "第二项", "第三项", "第四项"};public void listDialog(View source) {    AlertDialog.Builder builder = new AlertDialog.Builder(this)            .setTitle("标题")            .setIcon(R.mipmap.ic_launcher)            ..setItems(items, new DialogInterface.OnClickListener() {                @Override                public void onClick(DialogInterface dialogInterface, int which) {                    MyUtil.showToast(DialogActivity.this, "你选中了" + items[which]);                }            });    builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {        @override        public void onClick(DialogInterface dialogInterface, int i) {            // 确定按钮点击事件        }    });    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {        @override        public void onClick(DialogInterface dialogInterface, int i) {            // 取消按钮点击事件        }    });    builder.show();}

对对话框实现的思考

在上述两种对话框实现中,我发现AlertDialog.Builder提供了丰富的方法可以选择。对于最简单的对话框,setPositiveButtonsetNegativeButtonsetNeutralButton都是常用的设置方式,而列表项的实现则通过setItems()来实现。这两种实现方式的共同点是,它们都通过show()方法来展示对话框。习惯性地,我会将对话框作为用户与应用互动的主要入口之一来使用。

通过这些实现,我学会了如何快速创建不同类型的对话框,配合OnClickListener的不同情况处理。这一过程不仅提升了我的开发效率,也增强了我对Android组件化开发的理解。

转载地址:http://prpmz.baihongyu.com/

你可能感兴趣的文章
Nginx配置ssl实现https
查看>>
Nginx配置TCP代理指南
查看>>
Nginx配置——不记录指定文件类型日志
查看>>
Nginx配置代理解决本地html进行ajax请求接口跨域问题
查看>>
Nginx配置参数中文说明
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
NHibernate学习[1]
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
查看>>
NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
查看>>
Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
查看>>
NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
查看>>
NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
查看>>
NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
查看>>
NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
查看>>