参考资料: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. LG1010 幂次方

    题目描述 任何一个正整数都可以用2的幂次方表示.例如 137=2^7+2^3+2^0 同时约定方次用括号来表示,即a^b 可表示为a(b). 由此可知,137可表示为: 2(7)+2(3)+2(0) ...

  2. ibatis 中的 $和#的区别

    在sql配置中比如in(#rewr#) 与in ($rewr$) 在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型 ...

  3. vue 自定义指令(directive)实例

    一.内置指令 1.v-bind:响应并更新DOM特性:例如:v-bind:href  v-bind:class  v-bind:title  v-bind:bb 2.v-on:用于监听DOM事件: 例 ...

  4. [STemWin教程入门篇]第二期:emWin5.xx的详细移植步骤

    转自:http://bbs.armfly.com/read.php?tid=1545 重要说明:(0)由于这个移植教程是去年过年的时候做的,用的是5.16,这就不再做个5.20的移植了,方法是一样的. ...

  5. html 中手写阴影弹窗框封装

    // 弹出提示框 function popup(pWidth,content) { $("#msg").remove(); var html ='<div id=" ...

  6. js中构造函数的原型添加成员的两种方式

    首先,js中给原型对象添加属性和方法. 方式一:对象的动态特效 给原型对象添加成员 语法:构造函数.prototype.方法名=function (){ } 方式二:替换原型对象(不是覆盖,而是替换, ...

  7. 服务bindService()方法启动服务

    public class MainActivity extends Activity { private EditText studentno; private ServiceConnection c ...

  8. Javascript基础二(程序的三大结构)

    程序的三大结构: 顺序结构,选择结构,循环结构 程序的单分支结构-if语句:       当条件判断为真true时,执行花括号内的语句,如果条件为假false,跳过花括号内的语句       if(条 ...

  9. hbuilder模拟器端口

    模拟器 | 端口 夜神安卓模拟器夜神安卓模拟器     62001 逍遥安卓模拟器逍遥安卓模拟器     21503 BlueStacks(蓝叠安卓模拟器)BlueStacks(蓝叠安卓模拟器)    ...

  10. Android开发 Butterknife使用方法总结

    前言: ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤.是大神J ...