Android Dialog对话框的七种形式的使用
参考资料: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对话框的七种形式的使用的更多相关文章
- Android Dialog对话框
Dialog的基本方法 //创建Dialog AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); //设 ...
- Dialog对话框的几种方式使用实现
package com.loaderman.dialogdemo; import android.app.ProgressDialog; import android.content.DialogIn ...
- Android控件——7种形式的Android Dialog使用举例(转载)
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...
- 8种形式的Android Dialog使用举例
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...
- Android开发手记(13) 几种Alertdialog的使用
本文主要讨论七种形式的AlertDialog,及其编写方法. 1.退出 在用户退出的时候提示用户是否退出,含有“确定”和“退出”两个按键. btnExit.setOnClickListener(new ...
- Android Dialog使用举例
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一 ...
- C/C++ Qt Dialog 对话框组件应用
在Qt中对话框分为两种形式,一种是标准对话框,另一种则是自定义对话框,在一般开发过程中标准对话框使用是最多的了,标准对话框一般包括 QMessageBox,QInputDialog,QFileDial ...
- Android之UI--打造12种Dialog对话框
最近有空,来把app中常用到的Dialog对话框写一篇博客,在app中很多地方都会用到Dialog对话框,今天小编我就给大家介绍Dialog对话框. 先看看效果图: 12种,可根据需求选择,上图可知, ...
- Android下常见的四种对话框
摘要:在实际开发过程有时为了能够和用户进行很好的交互,需要使用到对话框,在Android中常用的对话框有四种:普通对话框.单选对话框.多选对话框.进度对话框. 一.普度对话框 public void ...
随机推荐
- UVALive 3902 Network (树+dfs)
Consider a tree network with n nodes where the internal nodes correspond to servers and the terminal ...
- AcWing 209. 装备购买 (高斯消元线性空间)打卡
脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量z[i]=(ai,1,ai,2,..,ai,m)z[i]=(ai,1,ai,2,..,ai,m) 表示,每个装备需要 ...
- ssh登录失败的常见问题分析
操作系统为了安全,一般只允许普通用户使用public_key登录,这时如果以root用户登录,就会出现各种错误.下面是常见的错误及解决方案. Permission denied (publickey) ...
- 建站手册-浏览器信息:Internet Explorer 浏览器
ylbtech-建站手册-浏览器信息:Internet Explorer 浏览器 1.返回顶部 1. http://www.w3school.com.cn/browsers/browsers_inte ...
- 为什么对象被new 以后在执行dup操作?
为什么对象被new 以后在执行dup操作? 今天有个朋友问我,为什么一个new一个对象的指令在new后面紧跟的是dup操作?他说搜了可能找到的 搜索引擎都找不到答案,包括翻了<<深入JAV ...
- Git 设置和取消代理(SOCKS5代理)
设置代理 git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'socks ...
- Mysql create constraint foreign key faild.trouble shooting method share
mysql> create table tb_test (id int(10) not null auto_increment primary key,action_id int(10) not ...
- python学习笔记:数据类型——列表/数组(list)
Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.通过下标访问列表中的元素(又称索引.角标),下标从0开始计数.list定义,使用中括号[]. l ...
- VS2008中所有快捷键
转载自:http://itfocus.diandian.com/post/2011-09-16/5091994 微软开发环境的可视化界面做的很全面,几乎所有的操作都可以通过可视化界面完成,但是你是否在 ...
- Dubbo 系列(07-1)集群容错 - 服务字典
Dubbo 系列(07-1)集群容错 - 服务字典 [toc] Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 本篇文章,将开始分析 Dubbo 集群容错方面的 ...