Android学习-各种对话框
在android的编程中,对话框的用处是非常多的,然而,有时对对话框的需求也是不一样的,那么现在,就总结对话框的种类,以及事件的处理形势。
1、简单的对话框
public void showDialog(){
   Dialog dialog = new AlertDialog.Builder(this)
    	.setTitle("标题")
    	.setMessage("消息")
    	.setPositiveButton("好", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
			}
		})
    	.setNegativeButton("不好", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
			}
		}).create();
    dialog.show();
}
2、带编辑框的对话框
public void showDialog(){
    EditText et = new EditText(this);// 单独出来,方便取用户输入的数据。
    Dialog dialog = new AlertDialog.Builder(this)
    	.setTitle("请输入")
    	.setIcon(android.R.drawable.ic_dialog_info)
    	.setView(et)
    	.setPositiveButton("确定", new DialogInterface.OnClickListener(){
			@Override
			public void onClick(DialogInterface dialog, int which) {
			}
    	})
    	.setNegativeButton("取消", new DialogInterface.OnClickListener(){
			@Override
			public void onClick(DialogInterface dialog, int which) {
			}})
    	.create();
    dialog.show();
}
3、含单选钮的对话框
public void showDialog(){
    final String[] str = new String[]{"第一部","第二部","第二部","第三部","第四部","第五部","第六部"} ;
    // 单独列出来方便之后取数据
    	Dialog dialog = new AlertDialog.Builder(this)
    	.setTitle("单选框,请选择")
    	.setSingleChoiceItems(str, 3, new DialogInterface.OnClickListener() {
    		// 3 代表默认选中str的index=3的那个单选框
			@Override
			public void onClick(DialogInterface dialog, int which) {
				Log.e("DIYDialogActivity", "showDialog->you select " + str[which] ) ;
			}
		})
		.setPositiveButton("确定", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
			}
		})
       .create();
    dialog.show();
}
4、含多选框的对话框
public void showDialog(){
        final String[] str = new String[]{"第一部","第二部","第二部","第三部","第四部","第五部","第六部"} ;// 单独列出来方便之后取数据
    	boolean[] bstr = new boolean[]{true,false,false,false,false,false,false};
    	Dialog dialog = new AlertDialog.Builder(this)
    	.setTitle("多选框,请选择")
    	.setMultiChoiceItems(str, bstr, new DialogInterface.OnMultiChoiceClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which, boolean isChecked) {
				Log.e("DIYDialogActivity", "showDialog->" +
						"you select " + str[which]+ "vaule = " +new Boolean(isChecked).toString() ) ;
			}
    	})
    	.setPositiveButton("确定", new DialogInterface.OnClickListener(){
			@Override
			public void onClick(DialogInterface dialog, int which) {
			}
    	}).create();
    	dialog.show();
}
5、含列表的对话框
public void showDialog(){
        final String[] str = new String[]{"第一部","第二部","第二部","第三部","第四部","第五部","第六部"} ;
        // 单独列出来方便之后取数据
    	Dialog dialog = new AlertDialog.Builder(this)
    	.setTitle("列表框,供选择")
    	.setItems(str, new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				Log.e("DIYDialogActivity", "showDialog---------------------you select " + which);
			}
		})
    	.setPositiveButton("确定", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
			}
		})
    	.create();
    	dialog.show();
}
6、自定义的对话框
public void showDialog(){
        LayoutInflater inflater = getLayoutInflater();
    	View layout = inflater.inflate(R.layout.dialog_showmsg, (ViewGroup) findViewById(R.id.view_dialog));
    	// 可指定对话框的背景色彩那些
    	Dialog dialog = new AlertDialog.Builder(this)
    	.setView(layout)
    	.create();
    	// 设置对话框的出现位置,借助于window对象
    	Window win = dialog.getWindow();
    	//win.setGravity(Gravity.CENTER);
    	//win.setGravity(Gravity.BOTTOM);
    	//win.setGravity(Gravity.TOP);
    	win.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);// 弹出对话框时,底部窗体,不变暗。
    	WindowManager.LayoutParams lp = win.getAttributes();
    	lp.x = -200;// x=0,y=0时,显示位置是屏幕中心。
    	lp.y = 0 ;
    	lp.alpha = 0.6f;// 对话框的透明度
    	win.setAttributes(lp);
    	Button but = (Button) layout.findViewById(R.id.but_positive);
    	but.requestFocus();
    	dialog.show();
}												
											Android学习-各种对话框的更多相关文章
- android学习笔记 对话框合集
		package com.zhangbz.dialog; import android.app.Activity; import android.app.AlertDialog; import andr ... 
- android学习九 对话框碎片
		1.android的对话框是异步的,对话框创建后马上执行下面的代码.好处: a.通过实现对话框的回调方法反馈用户与对话框的交互. b.能够在代码中清楚对话框. 2.碎片对话框基 ... 
- 9.Android之日期对话框DatePicker控件学习
		设置日期对话框在手机经常用到,今天来学习下. 首先设置好布局文件:如图 xml对应代码 <?xml version="1.0" encoding="utf-8&qu ... 
- 【转】Pro Android学习笔记(四六):Dialog(3):对话框弹对话框
		目录(?)[-] 帮助提示框的实现 实现再弹框 再谈fragment管理器 提示框的按钮Help,将触发弹出新的帮助提示框. 帮助提示框的实现 帮助提示框的实现很简单,利用重写onCreateView ... 
- android 学习随笔十九(对话框、样式、主题、国际化 )
		1.对话框 package com.itheima.dialog; import android.os.Bundle; import android.app.Activity; import andr ... 
- android学习笔记16——对话框
		android支持丰富的对话框,常用4中对话框: 1.AlertDialog: 2.ProgressDialog:进度对话框,这个对话框只是对进度条的封装 3.DatePickerDialog:日期选 ... 
- Android学习:AlertDialog对话框
		AlertDialog可以生成各种内容的对话框,它生成的对话框包含4个区域:图标区,标题区,内容区,按钮区 <?xml version="1.0" encoding=&quo ... 
- Android学习(十九)Dialog对话框
		一.什么是Dialog对话框 对话框是当前页面中弹出的一个小窗口,用于显示重要的提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等.用户需要与对话框进行交互,才能回到原窗 ... 
- Android学习路线总结,绝对干货
		title: Android学习路线总结,绝对干货 tags: Android学习路线,Android学习资料,怎么学习android grammar_cjkRuby: true --- 一.前言 不 ... 
随机推荐
- uva 10951 - Polynomial GCD(欧几里得)
			题目链接:uva 10951 - Polynomial GCD 题目大意:给出n和两个多项式,求两个多项式在全部操作均模n的情况下最大公约数是多少. 解题思路:欧几里得算法,就是为多项式这个数据类型重 ... 
- Android开发系列(二十八):使用SubMenu创建选项菜单
			大部分手机上边都会有一个"MENU"键,在一个应用安装到手机上之后,能够通过"MENU"显示该应用关联的菜单. 可是,从Android 3.0開始,Androi ... 
- 实现StatusBar的Flat风格
			效果见右图,OfficeXP里就是这样的风格,其实实现很简单,不必专门在网上找别人控件. 把StatusBar的SimplePanel设为False,点击Panels添加StatusPanel,把所有 ... 
- jsp获得本地及serverIP的方法
			InetAddress addr = InetAddress.getLocalHost(); String ip = addr.getHostAddress().toString();//获得本机IP ... 
- 循环灯控制器,该控制器控制红、绿、黄三个发光管循环发亮(VHDL语言)
			设计一个循环灯控制器,该控制器控制红.绿.黄三个发光管循环发亮.要求红发光管亮2秒,绿发光管亮3秒,黄发光管亮1秒.(假设外部提供频率为1MHz的方波信号) library ieee; use iee ... 
- android之写文件到sd卡
			1.main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ... 
- WKE——Webkit精简的纯C接口的浏览器
			以前不知道有这个东西 https://github.com/cexer/wke http://blog.csdn.net/weolar/article/details/50383491 http:// ... 
- Mojo Mysql utf-8字符集 需要{mysql_enable_utf8 => 1}
			get '/api/log_mon/get_log' => sub{ my $c = shift; my $env = $c->param('env'); my $host = $c-&g ... 
- hdu 2594 Simpsons’ Hidden Talents 【KMP】
			题目链接:http://acm.acmcoder.com/showproblem.php?pid=2594 题意:求最长的串 同一时候是s1的前缀又是s2的后缀.输出子串和长度. 思路:kmp 代码: ... 
- SuSE(SLES)安装配置syslog-ng日志server,可整合splunk
			Update History 2014年04月25日 - 撰写初稿 引言 在自己主动化部署AutoYast.自己主动化监控BMC Patrol双方面形成雏形后.日志的收集.管理.分析也顺势成为我们须要 ... 
