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
|
protected void dialog() { AlertDialog.Builder builder = new Builder(Main. this ); builder.setMessage( "确认退出吗?" ); builder.setTitle( "提示" ); builder.setPositiveButton( "确认" , new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); Main. this .finish(); } }); builder.setNegativeButton( "取消" , new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); } |
在onKeyDown(int keyCode, KeyEvent event)方法中调用此方法
|
1
2
3
4
5
6
|
public boolean onKeyDown( int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0 ) { dialog(); } return false ; } |
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 = new AlertDialog.Builder( this ).setIcon( android.R.drawable.btn_star).setTitle( "喜好调查" ).setMessage( "你喜欢李连杰的电影吗?" ).setPositiveButton( "很喜欢" , new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(Main. this , "我很喜欢他的电影。" , Toast.LENGTH_LONG).show(); } }).setNegativeButton( "不喜欢" , new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(Main. this , "我不喜欢他的电影。" , Toast.LENGTH_LONG) .show(); } }).setNeutralButton( "一般" , new OnClickListener() { @Override public 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方法的代码如下:
|
1
2
3
4
|
new AlertDialog.Builder( this ).setTitle( "请输入" ).setIcon( android.R.drawable.ic_dialog_info).setView( new EditText( this )).setPositiveButton( "确定" , null ) .setNegativeButton( "取消" , null ).show(); |
4.信息内容是一组单选框

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

创建dialog方法的代码如下:
|
1
2
3
4
5
6
7
8
|
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的方法代码如下:
|
1
2
3
|
new AlertDialog.Builder( this ).setTitle( "列表框" ).setItems( new String[] { "Item1" , "Item2" }, null ).setNegativeButton( "确定" , null ).show(); |
7.信息内容是一个自定义的布局

dialog布局文件代码如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
<? xml version = "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" > < 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方法的代码如下:
|
1
2
3
4
5
6
|
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(); |
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 水平居中 ( ...
随机推荐
- 读书笔记--MapReduce 适用场景 及 常见应用
原文:http://blog.csdn.net/smile0198/article/details/20578389 1.MR解决的问题的特点 MR是应大数据的背景产生,其解决的问题的共性为:大问 ...
- postgresql 如何导入sql文件
(1)不能使用pgadmin 执行Copy语句,目前客户端还不支持这种写法. (2)打开sql shell,执行如下操作 \i C:/Users/Peter_Youny/Desktop/ischool ...
- 算法笔记_060:蓝桥杯练习 出现次数最多的整数(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 编写一个程序,读入一组整数,这组整数是按照从小到大的顺序排列的,它们的个数N也是由用户输入的,最多不会超过20.然后程序将对这个数组进行统 ...
- Aeroo Reports Linux server
This article covers installation process for Aeroo reporting engine on Linux servers. If you find th ...
- Unity 开发游戏编写代码的技巧
在平时开发游戏过程中,遇到一些编写代码很繁琐的问题. 我发现我团队中每个人都会遇到,就算打写出来分享下经验. 条件断点 利用IDE提供的工具, 右键断点的时候 输入条件, 当条件达成的时候,断点才能命 ...
- java数据库操作:JDBC的操作
1,JDBC注意操作类及接口: 数据库操作过程: 1)打开数据库服务 2)连接数据库:一般都要输入用户名,密码, 3)操作数据库:创建表:查询表,更新,记录. 4)关闭数据库. 1,DriverMan ...
- tableView 获取网络图片,并且设置为圆角(优化,fps)
代码地址如下:http://www.demodashi.com/demo/11088.html 一.准备工作 例子比较精简,没有什么特殊要求,具备Xocde8.0左右版本的就好 二.程序实现 1.相关 ...
- CodeIgniter 无法上传 CSV 文件
本篇文章由:http://xinpure.com/codeigniter-unable-to-upload-a-csv-file/ 解决 CodeIgniter 中使用 Upload 类无法上传 CS ...
- 修改配置nginx,限制无良爬虫频率
配置如下: #全局配置 limit_req_zone $anti_spider zone=anti_spider:10m rate=15r/m; #某个server中 limit_req zone=a ...
- 使用jq Deferred防止代码被回调函数分解分解的支离破碎
//移动人物 function moveInterval(stopPosotion){ var dtd = $.Deferred(); // 生成Deferred对象 var yidong= wind ...