参考资料:http://www.oschina.net/question/54100_32486

注:代码进行了整理

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

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

 //一般的Dialog
public void normalDialog(){
AlertDialog.Builder bulider =new Builder(MainActivity.this);
bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片
bulider.setTitle("提示");
bulider.setMessage("你确定你要关掉它?");
bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
dialog.dismiss();
MainActivity.this.finish(); }
});
bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
bulider.create().show(); }
 new AlertDialog.Builder(MachineRegister.this)
.setTitle("提示")
.setMessage("设备注册成功")
.setPositiveButton("确定",
new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method }
//当点击返回时,就停留在本界面
})
.setNegativeButton("返回",
new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,
int which) { } }).show();

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

 //三个按钮的对话框
public void sanDialog(){
AlertDialog.Builder bulider =new Builder(MainActivity.this);
bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片
bulider.setTitle("提示");
bulider.setMessage("你确定你要关掉它?");
//最左边的按钮(positive :积极地)
bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
dialog.dismiss();
MainActivity.this.finish(); }
});
//最右边的钮(negative:消极的)
bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int arg1) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
//中间的钮
bulider.setNeutralButton("逗你玩", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub }
});
bulider.create().show(); }

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

 //信息内容是一个简单的View类型
public void shuruDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("请输入"); //放进去任意简单的view
builder.setView(new EditText(this));
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null); builder.create().show();
}

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

 //信息内容是单选框
public void danxuanDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("单选框");
//定义单选框
builder.setSingleChoiceItems(new String[]{"item1","item2"} ,0, new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface arg0, int arg1) {
//对选择项绑定事件 }
});
builder.setNegativeButton("取消", null); builder.create().show();
}

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

  //信息内容是复选框
public void fuxuanDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("复选框");
//定义复选框
builder.setMultiChoiceItems(new String[]{"item1","item2"}, null, null);
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null); builder.create().show();
}

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

  //信息内容是简单地列表项

     public void liebiaoDialog(){
AlertDialog.Builder builder =new Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("列表项");
//定义复选框
builder.setItems(new String[]{"item1","item2"}, null);
builder.setPositiveButton("确定", null);
builder.setNegativeButton("取消", null); builder.create().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的时候就可以拿出来看看。


注意:在使用dialog增加按钮选项的时候,

 bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() {
应该是红色字体部分,而写成:
bulider.setPositiveButton("确定", new OnClickListener() {
往往会报错,详细·····

Android Dialog对话框的七种形式的使用的更多相关文章

  1. Android Dialog对话框

    Dialog的基本方法 //创建Dialog AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); //设 ...

  2. Dialog对话框的几种方式使用实现

    package com.loaderman.dialogdemo; import android.app.ProgressDialog; import android.content.DialogIn ...

  3. Android控件——7种形式的Android Dialog使用举例(转载)

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

  4. 8种形式的Android Dialog使用举例

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

  5. Android开发手记(13) 几种Alertdialog的使用

    本文主要讨论七种形式的AlertDialog,及其编写方法. 1.退出 在用户退出的时候提示用户是否退出,含有“确定”和“退出”两个按键. btnExit.setOnClickListener(new ...

  6. Android Dialog使用举例

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

  7. C/C++ Qt Dialog 对话框组件应用

    在Qt中对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDial ...

  8. Android之UI--打造12种Dialog对话框

    最近有空,来把app中常用到的Dialog对话框写一篇博客,在app中很多地方都会用到Dialog对话框,今天小编我就给大家介绍Dialog对话框. 先看看效果图: 12种,可根据需求选择,上图可知, ...

  9. Android下常见的四种对话框

    摘要:在实际开发过程有时为了能够和用户进行很好的交互,需要使用到对话框,在Android中常用的对话框有四种:普通对话框.单选对话框.多选对话框.进度对话框. 一.普度对话框 public void ...

随机推荐

  1. 2019 TCO Round 1B——[ 状压DP ]

    第一题是 EllysSki . 题意:给n个数,求两个方向的最长递减区间. 可以O(n). #include<cstdio> #include<cstring> #includ ...

  2. 【开源项目】一篇文章搞掂:Pig微服务框架

    1.项目开发环境和运行步骤 1.1.项目开发环境 Idea:2018.1.6 Maven:3.5.3 JDK:1.8.0_172 MySQL:5.7.19(之前安装8.0.11会运行失败) Redis ...

  3. (2)C++基本类型

    一.整形 short .int. long. long long sizeof查看类型所占的字节数 cout << sizeof(short)<<endl;//2 字节 cou ...

  4. git rollback

    http://stackoverflow.com/questions/1616957/how-do-you-roll-back-reset-a-git-repository-to-a-particul ...

  5. javsscript闭包的一种使用场景--沙箱

    ​ //沙箱:模块化,沙箱是一个隔离的环境,最大的好处就是避免全局变量的污染. var model = (function () {//一个匿名的立即执行函数 var price = 900;//这是 ...

  6. 运维02 Shell基础命令(一)

    Shell基础命令(一)   Shell 教程 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应 ...

  7. upc组队赛7 Star in Parentheses

    Star in Parentheses 题目描述 You are given a string S, which is balanced parentheses with a star symbol ...

  8. java多线程学习笔记(三)

    java多线程下的对象及变量的并发访问 上一节讲到,并发访问的时候,因为是多线程,变量如果不加锁的话,会出现“脏读”的现象,这个时候需要“临界区”的出现去解决多线程的安全的并发访问.(这个“脏读”的现 ...

  9. Java.util包教程

    java.util.ArrayDeque 类提供了可调整大小的阵列,并实现了Deque接口.以下是关于阵列双端队列的要点: 数组双端队列没有容量限制,使他们增长为必要支持使用. 它们不是线程安全的;如 ...

  10. jquery 条件搜索某个标签下的子标签

    $("li[name='"+name+"']").find("a[value='" + value + "']").pa ...