Android控件——7种形式的Android Dialog使用举例(转载)
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。
1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。

创建dialog对话框方法代码如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | protectedvoiddialog() {    AlertDialog.Builder builder = newBuilder(Main.this);    builder.setMessage("确认退出吗?");    builder.setTitle("提示");    builder.setPositiveButton("确认", newOnClickListener() {     @Override     publicvoidonClick(DialogInterface dialog, intwhich) {      dialog.dismiss();      Main.this.finish();     }    });    builder.setNegativeButton("取消", newOnClickListener() {     @Override     publicvoidonClick(DialogInterface dialog, intwhich) {      dialog.dismiss();     }    });    builder.create().show();   } | 
在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法
| 1 2 3 4 5 6 | publicbooleanonKeyDown(intkeyCode, KeyEvent event) {    if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {     dialog();    }    returnfalse;   } | 
2.改变了对话框的图表,添加了三个按钮

创建dialog的方法代码如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | Dialog dialog = newAlertDialog.Builder(this).setIcon(       android.R.drawable.btn_star).setTitle("喜好调查").setMessage(       "你喜欢李连杰的电影吗?").setPositiveButton("很喜欢",       newOnClickListener() {        @Override        publicvoidonClick(DialogInterface dialog, intwhich) {         // TODO Auto-generated method stub         Toast.makeText(Main.this, "我很喜欢他的电影。",           Toast.LENGTH_LONG).show();        }       }).setNegativeButton("不喜欢", newOnClickListener() {      @Override      publicvoidonClick(DialogInterface dialog, intwhich) {       // TODO Auto-generated method stub       Toast.makeText(Main.this, "我不喜欢他的电影。", Toast.LENGTH_LONG)         .show();      }     }).setNeutralButton("一般", newOnClickListener() {      @Override      publicvoidonClick(DialogInterface dialog, intwhich) {       // TODO Auto-generated method stub       Toast.makeText(Main.this, "谈不上喜欢不喜欢。", Toast.LENGTH_LONG)         .show();      }     }).create();     dialog.show(); | 
3.信息内容是一个简单的View类型

创建dialog方法的代码如下:
| 1 2 3 4 | newAlertDialog.Builder(this).setTitle("请输入").setIcon(       android.R.drawable.ic_dialog_info).setView(       newEditText(this)).setPositiveButton("确定", null)       .setNegativeButton("取消", null).show(); | 
4.信息内容是一组单选框

创建dialog方法的代码如下:
| 1 2 3 4 | newAlertDialog.Builder(this).setTitle("复选框").setMultiChoiceItems(       newString[] { "Item1", "Item2"}, null, null)       .setPositiveButton("确定", null)       .setNegativeButton("取消", null).show(); | 
5.信息内容是一组多选框

创建dialog方法的代码如下:
| 1 2 3 4 5 6 7 8 | newAlertDialog.Builder(this).setTitle("单选框").setIcon(       android.R.drawable.ic_dialog_info).setSingleChoiceItems(       newString[] { "Item1", "Item2"}, 0,       newDialogInterface.OnClickListener() {        publicvoidonClick(DialogInterface dialog, intwhich) {         dialog.dismiss();        }       }).setNegativeButton("取消", null).show(); | 
6.信息内容是一组简单列表项

创建dialog的方法代码如下:
| 1 2 3 | newAlertDialog.Builder(this).setTitle("列表框").setItems(       newString[] { "Item1", "Item2"}, null).setNegativeButton(       "确定", null).show(); | 
7.信息内容是一个自定义的布局

dialog布局文件代码如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 | <?xmlversion="1.0"encoding="utf-8"?>   android:layout_height="wrap_content"android:layout_width="wrap_content"   android:background="#ffffffff"android:orientation="horizontal"   android:id="@+id/dialog">   <TextViewandroid:layout_height="wrap_content"     android:layout_width="wrap_content"    android:id="@+id/tvname"android:text="姓名:"/>   <EditTextandroid:layout_height="wrap_content"    android:layout_width="wrap_content"android:id="@+id/etname"android:minWidth="100dip"/>  </LinearLayout> | 
创建dialog方法的代码如下:
| 1 2 3 4 5 6 | LayoutInflater inflater = getLayoutInflater();     View layout = inflater.inflate(R.layout.dialog,       (ViewGroup) findViewById(R.id.dialog));     newAlertDialog.Builder(this).setTitle("自定义布局").setView(layout)       .setPositiveButton("确定", null)       .setNegativeButton("取消", null).show(); | 
Android控件——7种形式的Android Dialog使用举例(转载)的更多相关文章
- Android控件点击事件
		1. 介绍 本文介绍了Android控件的点击事件 Android控件点击(onClick)事件可以用如下三种方式来实现 2. 实现onClick方法 在layout的xml中指定onClick方法, ... 
- Android控件系列之RadioButton&RadioGroup(转)
		学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握Ra ... 
- Android初级教程_获取Android控件的宽和高
		转载:http://blog.csdn.net/johnny901114/article/details/7839512 我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我们来看 ... 
- Android入门(六):Android控件布局属性全解
		第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中 (Hrizontal表示水平)android:layout_centerVertical 垂 ... 
- Android 控件架构及View、ViewGroup的测量
		附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ... 
- Android控件属性大全(转)
		http://blog.csdn.net/pku_android/article/details/7365685 LinearLayout 线性布局 子元素任意: Tab ... 
- UIAutomator定位Android控件的方法
		UIAutomator各种控件定位的方法. 1. 背景 使用SDK自带的NotePad应用,尝试去获得在NotesList那个Activity里的Menu Options上面的那个Add note菜单 ... 
- Android控件系列之CheckBox
		学习目的: 1.掌握在Android中如何建立CheckBox 2.掌握CheckBox的常用属性 3.掌握CheckBox选中状态变换的事件(监听器) CheckBox简介: CheckBox和Bu ... 
- android控件的属性
		android控件的属性 本节描述android空间的位置,内容等相关属性及属性的含义 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 ( ... 
随机推荐
- 十招让Ubuntu 16.04用起来更得心应手
			Ubuntu 16.04是一种长期支持版本(LTS),是Canonical承诺发布五年的更新版.也就是说,你可以让这个版本在电脑上运行五年!这样一来,一开始就设置好显得特别重要.你应该确保你的软件是最 ... 
- SOA服务总线设计
			背景 基于总线的设计,借鉴了计算机内部硬件组成的设计思想(通过总线传输数据).在分布式系统中,不同子系统之间需要实现相互通信和远程调用,比较直接的方式就是“点对点”的通信方式,但是这样会暴露出一些很明 ... 
- JMeter 九:给请求加断言
			参考:http://jmeter.apache.org/usermanual/component_reference.html#assertions 背景 在测试过程中,我们需要对某个请求的结果进行判 ... 
- Java创建和读取Json
			在Java中构造和解析JSON我用的是org.json,附件为相应的org.json.jar. 下面是两个函数,一个是创建JSON,一个是从文本构造JSON并解析之. 创建json: //constr ... 
- Unity3d 显示IOS基本的游戏中心脚本
			using UnityEngine; using UnityEngine.SocialPlatforms; public class Startup : MonoBehaviour { // we'l ... 
- [LeetCode] Add Two Numbers(stored in List)
			首先,演示一个错误的reverList class Solution { public: ListNode* reverse(ListNode* root) { if(NULL == root) re ... 
- C# 重载和默认参数(那种情况下使用更好)
			当你提供函数,外部因为要传入不同参数个数,重载会导致 外部if增加, 默认参数可以消除外部的if.当外部调用函数需要判断调用那个函数,根据调用次数增多 if跟着调用持续增多两种不同的调用 //重载 ... 
- struts2配置默认Action
			作用:当一个请求无法匹配到任何一个struts的action时,可以配置一个默认Action 例如:当请求路径不正确时,跳转到一个404.jsp页面 <package extends=" ... 
- 一个可变布局列表,有9种布局item大小,每个item可拖拽切换位置
			代码地址如下:http://www.demodashi.com/demo/11271.html 一.准备工作 准备一台安卓设备手机,4.4以上版本 本例子实现,一个可变布局列表,有9种布局item大小 ... 
- php中对象是引用类型吗?
			这貌似是一个极其简单的问题,还用得着专门写一篇博文?各位看官,最初我也这么认为,但这的确蒙蔽了你那水灵灵的小眼睛,不妨看看什么是引用? $a = 10; $b = &$a; $b = 20; ... 
