Dialog的用法
来源:互联网 发布:linux查看登录密码 编辑:程序博客网 时间:2024/09/21 09:29
特点:
不会自动消失,除非点击返回值或者关闭按钮
分类:
1.ProgressDialog 进度对话框
2.AlertDialog 提示对话框
3.TimePickerDialog/DatePickerDialog 时间/日期设置对话框
(1)TimePickerDialog的使用:
//获取Dialog对象 /* * 参数1: Context对象, * 2: onTimeSetListener,当设置完时间确认后会调用此接口中的方法 * 3:设置对话框初始显示时的小时数 * 4:设置对话框初始显示时的分钟数 * 5:是否以24小时制显示 */ TimePickerDialog td = new TimePickerDialog(this, new OnTimeSetListener() { /* * 参数1:用于设置时间的两个滚轮 * 参数2,3:确认设置的小时数和分钟数 * */ @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, hourOfDay+" : "+minute, Toast.LENGTH_SHORT).show(); } }, 10, 19, true); //调用show方法展示 td.show();
DatePickerDialog的使用:
//获取对象 /* * 1: Context。 * 2. onDateSetListener ,一旦日期设置完成后会调用此接口中的方法 * 3,4,5:对话框初始显示时的年月日 * 注意:月份小1个 */ new DatePickerDialog(this, new OnDateSetListener() { //参数用于代表设置后的年月日 @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, year+" / "+(monthOfYear+1)+" / "+dayOfMonth, Toast.LENGTH_SHORT).show(); } }, 2016, 11, 19) .show(); //通过show方法显示
AlertDialog的基本显示:
//初始化对象 new AlertDialog.Builder(this) .setIcon(R.drawable.ic_launcher) //设置图标 .setTitle("标题文本") .setMessage("提示信息文本") //添加按钮,参数用于设置按钮上的文字以及按钮的点击事件 //注意:如果点击按钮后只是负责关闭对话框,不干其他事情,点击事件可填null .setNeutralButton("忽略", null) .setNegativeButton("取消", null) .setPositiveButton("确定", new OnClickListener() { //参数1:代表当前显示的对话框对象 @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "确定按钮被点击了!!!", Toast.LENGTH_SHORT).show(); } }) .setCancelable(false) //设置只能通过点击对话框中的按钮关闭对话框 .show(); //显示
AlertDialog中更多的种类:
1. 列表对话框 :
//实现列表对话框的关键:setItems方法 new AlertDialog.Builder(this) .setIcon(R.drawable.ic_launcher) .setTitle("普通列表对话框") /* * 通过setItems方法实现, * 参数1: 数组,用于设置列表中要显示的数据源 * 参数2:设置列表中每一个条目的点击事件 */ .setItems(strs, new OnClickListener() { /** * 当对话框中显示一个列表时,参数二which有意义 * which: 用于代表被点的item在列表中所处的position位置 */ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "列表中选中的数据为:"+strs[which], Toast.LENGTH_SHORT).show(); } }) .show();
2. 单选列表对话框 :
singleStr = "abc"; new AlertDialog.Builder(this) .setTitle("单选列表") /* * 设置单选列表 * 参数1:列表中显示的数据源 * 参数2: 设置默认选中项在列表中所处的位置 * 3:列表的item的点击事件 * */ .setSingleChoiceItems(strs, 0, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub singleStr = strs[which];// Toast.makeText(MainActivity.this, "单选列表的选择结果为:"+strs[which], Toast.LENGTH_SHORT).show(); //关闭对话框// dialog.cancel(); //或者// dialog.dismiss(); } } ) .setPositiveButton("ok", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "单选列表的选择结果为::::"+singleStr+" "+which, Toast.LENGTH_SHORT).show(); } }) .show();
3. 多选列表对话框 :
list.clear(); list.add(strs[1]); list.add(strs[3]); new AlertDialog.Builder(this) .setTitle("多选列表") /** * 1. 要显示的数据源,数据源可设置数组对象或者values中的数组资源对应的id * 2. boolean类型数组,用于给数据源中的每一个数据设置选中状态 */ .setMultiChoiceItems(strs, new boolean[]{false,true,false,true}, new OnMultiChoiceClickListener() { //当列表中的item被点击时运行此方法 //which代表被点击的item在列表中对应的位置,参数3:该item在被点击之后的选中状态 @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { // TODO Auto-generated method stub Log.i("oye", which+" "+isChecked); if (isChecked) { list.add(strs[which]); } else { list.remove(strs[which]); } } } ) .setPositiveButton("ok", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "多选结果为:"+list.toString(), Toast.LENGTH_SHORT).show(); } }) .show();
4. 自定义显示内容的对话框 :
View view = LayoutInflater.from(this).inflate(R.layout.custom, null); final EditText et = (EditText) view.findViewById(R.id.et); //自定义显示内容 new AlertDialog.Builder(this) .setTitle("自定义显示内容") /* * 通过setView方法中的view参数设置对话框的自定义显示内容*/ .setView(view) .setPositiveButton("ok", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, et.getText().toString(), Toast.LENGTH_SHORT).show(); } }) .show();
备注:对话框不能够自定义显示位置,位置始终固定显示在屏幕的居中位置
0 0
- Android Dialog的用法
- Dialog 的用法
- Menu,dialog的用法
- Dialog的用法
- Dialog的四种用法
- JQuery的dialog用法总结
- android对话框(Dialog)的用法
- Message在Dialog的用法
- Dialog的高冷用法
- Android dialog对话框的用法
- Menu,Dialog,Toast的用法
- 自定义dialog的基本用法
- Dialog的几种用法
- Android中Dialog的用法
- jquery的dialog的closeTopics用法
- 关于activity绑定的dialog的用法
- android dialog常见的几种用法
- Android 对话框(Dialog)的几种用法。
- 专业书67~115+杂七杂八
- darwin setevent的使用注意事项
- MySQL基础知识汇总
- 匿名类基础知识整理
- Android Studio主题设置、颜色背景配置
- Dialog的用法
- Salesforce使用truncate清空数据库
- 洛谷 1305_新二叉树_递归
- CS209-Course-Notes
- python判断正负数
- css3 iphone实现页面
- Android开发入门经典实例
- Hibernate之复合主键映射并总配置文件不引入映射文件
- Context []startup failed due to previous errors有效解决方式