在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。

1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。

创建dialog对话框方法代码如下:

 protected void dialog() { AlertDialog.Builder builder = new Builder(Main.this); builder.setMessage("确认退出吗?"); builder.setTitle("提示"); builder.setPositiveButton("确认", new OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Main.this.finish(); } }); builder.setNegativeButton("取消", new OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); }

在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法:

public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { dialog(); } return false; }

2.改变了对话框的图表,添加了三个按钮

创建dialog的方法代码如下:

 Dialog dialog = new AlertDialog.Builder(this).setIcon( android.R.drawable.btn_star).setTitle("喜好调查").setMessage( "你喜欢李连杰的电影吗?").setPositiveButton("很喜欢", new OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub          Toast.makeText(Main.this, "我很喜欢他的电影。", Toast.LENGTH_LONG).show(); } }).setNegativeButton("不喜欢", new OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub        Toast.makeText(Main.this, "我不喜欢他的电影。", Toast.LENGTH_LONG) .show(); } }).setNeutralButton("一般", new OnClickListener() { @Overridepublic void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub        Toast.makeText(Main.this, "谈不上喜欢不喜欢。", Toast.LENGTH_LONG) .show(); } }).create(); dialog.show();

3.信息内容是一个简单的View类型

创建dialog方法的代码如下:

new AlertDialog.Builder(this).setTitle("请输入").setIcon( android.R.drawable.ic_dialog_info).setView( new EditText(this)).setPositiveButton("确定", null) .setNegativeButton("取消", null).show();

4.信息内容是一组单选框

创建dialog方法的代码如下:

new AlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems( new String[] { "Item1", "Item2" }, null, null) .setPositiveButton("确定", null) .setNegativeButton("取消", null).show();

5.信息内容是一组多选框

创建dialog方法的代码如下:

new AlertDialog.Builder(this).setTitle("单选框").setIcon( android.R.drawable.ic_dialog_info).setSingleChoiceItems( new String[] { "Item1", "Item2" }, 0, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }).setNegativeButton("取消", null).show();

6.信息内容是一组简单列表项

创建dialog的方法代码如下:

new AlertDialog.Builder(this).setTitle("列表框").setItems( new String[] { "Item1", "Item2" }, null).setNegativeButton( "确定", null).show();

7.信息内容是一个自定义的布局

dialog布局文件代码如下:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_height="wrap_content" android:layout_width="wrap_content"android:background="#ffffffff" android:orientation="horizontal"android:id="@+id/dialog"> <TextView android:layout_height="wrap_content"android:layout_width="wrap_content"android:id="@+id/tvname" android:text="姓名:" /> <EditText android:layout_height="wrap_content"android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/> </LinearLayout>

创建dialog方法的代码如下:

LayoutInflater inflater = getLayoutInflater(); View layout = inflater.inflate(R.layout.dialog, (ViewGroup) findViewById(R.id.dialog)); new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout) .setPositiveButton("确定", null) .setNegativeButton("取消", null).show();

好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。

另外注,本文参考文章:
http://android.tgbus.com/Android/tutorial/201107/359812.shtml

转载于:https://blog.51cto.com/alany/1571938

Android学习—7种形式的Android Dialog使用举例相关推荐

  1. android学习和广告平台赚钱(android广告平台哪个好)

    原文写于2012年4月份. 前言: 2011年11月份我开始学习android软件开发(本人有良好的java基础.web开发基础.c++基础),2011年12月份开始开发第一款手机软件(软件名字就不透 ...

  2. android学习轨迹之二:Android权限标签uses-permission的书写位置

    场景 想获取手机内所有联系人.并且AndroidManifest.xml中也添加了 <uses-permission android:name="android.permission. ...

  3. 7种形式的Android Dialog使用举例

    在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...

  4. android 学习笔记(三) Android学习路线之3.2 游戏程序员的学习资料

    看到一篇文章,总结一个游戏程序员的学习资料,作者是一个大二的学生,很羡慕作者大二时就有这么清晰的职业目标.我大学学的是自动化专业,大学时也算博览群书,可惜现在大多不知道遗忘在那个角落了.毕业后,单片机 ...

  5. Android学习总结(6)——Android日常开发总结的技术经验60条

    1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一 需要整体变动,一处修改到处有效. 2.数据库表段字段常量和SQL逻辑分离,更清 ...

  6. Android学习笔记之-:对Android图像色调饱和度亮度处理

    首先也简单介绍下图像的RGBA模型,R指红色(Red),G指绿色(Green),B指蓝色(Blue)及A指透明度(Alpha),由这四种元素搭配组合成了各种各样的颜色. 处理工具类及方法: publi ...

  7. Android 学习第10课,Android的布局

    Android的布局 线性布局 转载于:https://www.cnblogs.com/xiaojiaolee/p/4799026.html

  8. android 强制下线功能,Android学习之基础知识八—Android广播机制实践(实现强制下线功能)...

    强制下线功能算是比较常见的了,很多的应用程序都具备这个功能,比如你的QQ号在别处登录了,就会将你强制挤下线.实现强制下线功能的思路比较简单,只需要在界面上弹出一个对话框,让用户无法进行任何操作,必须要 ...

  9. android的20种滤镜效果代码,Android 图片 滤镜效果 通过矩阵实现

    然,看到头像点击要加滤镜效果,有个新奇 的做法是用setColorFilter(); /** * Created by yx on 16/4/3. */public class DiscolorIma ...

  10. Android弹出Dialog使用举例

    Android详细的对话框AlertDialog.Builder使用方法 7种形式的Android Dialog使用举例 第30章.常见对话框之一AlertDialog(从零开始学Android) 转 ...

最新文章

  1. 在vue2.x项目中怎么引入Element UI
  2. mysql as_mysql AS子句
  3. hadoop Mapreduce组件介绍
  4. jQuery kxbdMarquee 无缝滚动
  5. JDBC学习笔记之JDBC简介
  6. 前后端分离中后端常用的响应类
  7. 与人方便,随遇而安!
  8. python爬取图片失败什么原因_请问下面这个python3.5下的爬虫程序有什么错误,为什么运行正常 但是不爬取图片?...
  9. 油猴+百度网盘+加速
  10. Vue2.0源码解析 - 知其然知其所以然之keep-alive原理分析(二)
  11. 股票数据Scrapy爬虫-Python网络爬虫与信息提取-北京理工大学嵩天教授
  12. 知道如何防止域名被封,干货!赶紧收藏
  13. 北京最好的商标律师解析商标侵权的处罚规定
  14. 直播预告:Envoy Core Maintainer 跨洋解读 Envoy 技术(中文)
  15. 自然语言处理--模仿莎士比亚风格自动生成诗歌
  16. WORD转PDF时候出现空白页的解决办法
  17. 微信小程序开发者工具怎么使用Less、Sass
  18. android 8.1 9.0 10.0 默认允许安装第三方app去掉未知来源弹窗直接安装apk
  19. 北京市通信管理局关于29款问题App的通报
  20. MT6158原理图,MT6158处理器参数,MT6158射频芯片资料

热门文章

  1. android 禁用和开启四大组件的方法(setComponentEnabledSetting )
  2. 五个最佳编程文本编辑器
  3. 清除SQLServer2008缓存
  4. 最新版QQ拼音打字法为什么打出来的字中间有竖线?
  5. Linux下安装Mysql详解
  6. 简单使用idea Spring Boot搭建项目
  7. ajax简单做html查询删除(鲜花)
  8. LOJ 6409. 「ICPC World Finals 2018」熊猫保护区
  9. Mysql 5.7 for windows 免安装版(解压版)安装和配置
  10. httpd在嵌入式中应用