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 水平居中 ( ...
随机推荐
- 十招让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; ...