Android中Dialog对话框的使用小结
发布时间 - 2026-01-11 00:47:25 点击率:次前言

最近有些空时间,所以花了一个小时对Dialog对话框使用小结一下,比较基础,希望对你学习有帮助,大牛请直接关闭网页。如果你是新手,建议你亲自敲一遍代码。
先看一下效果:
Dialog对话框使用小结
一、普通对话框
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle("温馨提示");//标题
builder.setMessage("天气冷,注意保暖");
builder.setIcon(R.mipmap.ic_launcher);
builder.create();
builder.show();
普通对话框
二、确定取消对话框
builder.setTitle("确定取消对话框");
builder.setMessage("请选择确定或取消");
builder.setIcon(R.mipmap.ic_launcher);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
//正能量按钮 Positive
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(activity, "你点击了确定", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(activity, "你选择了取消", Toast.LENGTH_SHORT).show();
}
});
builder.create().show();
确定取消对话框
三、多按钮对话框
builder.setTitle("多个按钮对话框");
builder.setMessage("请选择");
builder.setIcon(R.mipmap.ic_launcher);
builder.setPositiveButton("我没玩够", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(activity, "继续浏览精彩内容", Toast.LENGTH_SHORT).show();
}
});
builder.setNeutralButton("开启", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(activity, "起床了", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("我累了,要休息一下", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(activity, "欢迎再来", Toast.LENGTH_SHORT).show();
}
});
builder.create().show();
多按钮对话框
四、列表对话框
final String arrItem[] = getResources().getStringArray(R.array.aikaifa);
builder.setItems(arrItem, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(activity, "你选择了第" + arrItem[which], Toast.LENGTH_SHORT).show();
}
});
builder.create().show();
列表对话框
五、带Adapter的对话框
builder.setTitle("带Adapter的对话框");
builder.setIcon(R.mipmap.ic_launcher);
final List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
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<String, Object> map = new HashMap<String, Object>();
map.put("img", arrImg[i]);
map.put("title", "爱开发" + i);
list.add(map);
}
SimpleAdapter adapter = new SimpleAdapter(activity, list, R.layout.list_item, new String[]{"img", "title"}, new int[]{R.id.iv, R.id.tv});
builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(activity, "你选择了" + list.get(which).get("title").toString().trim(), Toast.LENGTH_SHORT).show();
}
});
builder.create().show();
带Adapter的对话框
六、单选对话框
builder.setTitle("单选对话框");
builder.setIcon(R.mipmap.ic_launcher);
builder.setSingleChoiceItems(R.array.aikaifa, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(activity, which+"", Toast.LENGTH_SHORT).show();
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.create().show();
单选对话框
七、多选对话框
builder.setTitle("多选对话框");
builder.setIcon(R.mipmap.ic_launcher);
builder.setMultiChoiceItems(R.array.aikaifa, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Toast.makeText(activity, which+""+isChecked, Toast.LENGTH_SHORT).show();
}
});
builder.create().show();
多选对话框
八、日期对话框
DatePickerDialog datePickerDialog=new DatePickerDialog(activity,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
Toast.makeText(activity,
year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日", Toast.LENGTH_SHORT).show();
}
},
2017, 02, 9);
datePickerDialog.show();
日期对话框
九、时间对话框
TimePickerDialog timePickerDialog=new TimePickerDialog(activity,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(activity,
hourOfDay+"小时"+minute+"分钟", Toast.LENGTH_SHORT).show();
}
},
17, 49, true);
timePickerDialog.show();
时间对话框
十、自定义对话框
View view= LayoutInflater.from(activity).inflate(R.layout.dialog_login, null);
builder.setView(view);
builder.create();
final EditText et_phone=(EditText)view.findViewById(R.id.et_phone);
final EditText et_password=(EditText)view.findViewById(R.id.et_password);
Button btn_submit=(Button)view.findViewById(R.id.btn_submit);
btn_submit.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(activity, "手机号码:"+et_phone.getText().toString()+" 短信验证码:"+et_password.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.show();
自定义对话框
项目设计到的xml
list_item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f5f5f5" android:orientation="horizontal" android:padding="10dp"> <ImageView android:id="@+id/iv" android:src="@mipmap/ic_launcher" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/tv" android:text="标题" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
dialog_login.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffffff" android:orientation="vertical"> <LinearLayout android:id="@+id/linearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerInParent="true" android:layout_margin="8dp" android:orientation="vertical" android:padding="5dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:layout_marginTop="10dp" android:gravity="center_horizontal" android:text="验证手机号码" android:textColor="#414141" /> <EditText android:id="@+id/et_phone" android:layout_width="match_parent" android:layout_height="48dp" android:gravity="center_vertical" android:hint="请输入手机号码" android:inputType="number" android:maxLength="11" android:paddingLeft="10dp" android:textSize="14sp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:layout_marginTop="10dp"> <EditText android:id="@+id/et_password" android:layout_width="0dp" android:layout_height="48dp" android:layout_weight="4" android:gravity="center_vertical" android:hint="请输入短信验证码" android:inputType="number" android:maxLength="6" android:paddingLeft="10dp" android:textSize="14sp" /> <TextView android:id="@+id/tv_get_code" android:layout_width="0dp" android:layout_height="48dp" android:layout_marginLeft="10dp" android:layout_weight="2" android:enabled="false" android:gravity="center" android:text="点击获取" android:textColor="#000000" /> </LinearLayout> <Button android:id="@+id/btn_submit" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#000000" android:gravity="center" android:paddingBottom="10dp" android:paddingTop="10dp" android:text="提交" /> </LinearLayout> </RelativeLayout>
源码下载
总结
以上就是这篇文章的全部内容了,希望本文的内容对各位Android开发者们能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# android对话框dialog
# android
# dialog的使用
# dialog使用
# Android中自定义对话框(Dialog)的实例代码
# 8种android 对话框(Dialog)使用方法详解
# 属于自己的Android对话框(Dialog)自定义集合
# Android中制作自定义dialog对话框的实例分享
# Android Dialog对话框详解
# Android 对话框 Dialog使用实例讲解
# Android Dialog对话框用法实例详解
# Android Dialog 对话框详解及示例代码
# Android 对话框(Dialog)大全示例(建立你自己的对话框)
# 对话框
# 多选
# 单选
# 请输入
# 选择了
# 自定义
# 请选择
# 验证码
# 你是
# 多个
# 对你
# 一遍
# 我没
# 再来
# 花了
# 累了
# 这篇文章
# 请直接
# 谢谢大家
# 温馨提示
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
canvas 画布在主流浏览器中的尺寸限制详细介绍
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
如何在IIS服务器上快速部署高效网站?
Laravel如何处理表单验证?(Requests代码示例)
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
Laravel如何实现密码重置功能_Laravel密码找回与重置流程
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
javascript中对象的定义、使用以及对象和原型链操作小结
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
如何快速搭建高效WAP手机网站吸引移动用户?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
如何为不同团队 ID 动态生成多个非值班状态按钮
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
PHP正则匹配日期和时间(时间戳转换)的实例代码
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何撰写建站申请书?关键要点有哪些?
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
HTML 中动态设置元素 name 属性的正确语法详解
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭
高防服务器租用指南:配置选择与快速部署攻略
如何在阿里云部署织梦网站?
Bootstrap整体框架之JavaScript插件架构
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
七夕网站制作视频,七夕大促活动怎么报名?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
高端建站如何打造兼具美学与转化的品牌官网?
JS去除重复并统计数量的实现方法
Linux安全能力提升路径_长期防护思维说明【指导】
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
如何在宝塔面板中创建新站点?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
如何用狗爹虚拟主机快速搭建网站?
Java遍历集合的三种方式
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
Laravel如何使用查询构建器?(Query Builder高级用法)

