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

本文共 2540 字,大约阅读时间需要 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 常用配置记录
查看>>
nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
查看>>
Nginx 我们必须知道的那些事
查看>>
Nginx 的 proxy_pass 使用简介
查看>>
Nginx 的配置文件中的 keepalive 介绍
查看>>
Nginx 结合 consul 实现动态负载均衡
查看>>
Nginx 负载均衡与权重配置解析
查看>>
Nginx 负载均衡详解
查看>>
nginx 配置 单页面应用的解决方案
查看>>
nginx 配置https(一)—— 自签名证书
查看>>
nginx 配置~~~本身就是一个静态资源的服务器
查看>>
Nginx 配置清单(一篇够用)
查看>>
Nginx 配置解析:从基础到高级应用指南
查看>>
nginx+php的搭建
查看>>
nginx+tomcat+memcached
查看>>
nginx+Tomcat性能监控
查看>>
nginx+uwsgi+django
查看>>
Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流
查看>>
Nginx下配置codeigniter框架方法
查看>>
Nginx之二:nginx.conf简单配置(参数详解)
查看>>