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高级用法)