android 中dialog对话框,Android中的对话框dialog
普通对话框
单选对话框
多选对话框
进度条对话框
底部弹出框
1.普通对话框
this 代表当前类 最终继承Context 相当于是子类
getApplicationContext:直接返回的是Context 相当于是父类
实际开发中就对话框特殊 对话框的上下文只能用this.
// [1]创建一个对话框实例
12. AlertDialog.Builder dialog = new Builder(this);
13. dialog.setTitle("警告");
14. dialog.setMessage("世界这么大你想去看看");
15. dialog.setPositiveButton("确定", new OnClickListener() {
16. @Override
17. public void onClick(DialogInterface dialog, int which) {
18.
19. System.out.println("点击了确定");
20. }
21. });
22. dialog.setNegativeButton("取消", new OnClickListener() {
23.
24. @Override
25. public void onClick(DialogInterface dialog, int which) {
26. System.out.println("点击了取消");
27. }
28. });
29. // 最后一步 和 土司一样 一定给我记得show出来
30. dialog.show();
2. 单选对话框
// [1]创建一个对话框实例
35. AlertDialog.Builder dialog = new Builder(this);
36. dialog.setTitle("请选择你喜欢的课程");
37.
38. final String items[] = { "Android", "ios", "javaee", "c++", "C" };
39. // [2]设置下面这个方法的参数就是单选
40. dialog.setSingleChoiceItems(items, -1, new OnClickListener() {
41. // 当点中一个条目执行这个方法 把点中条目的数据取出来
42. @Override
43. public void onClick(DialogInterface dialog, int which) {
44. String data = items[which];
45. Toast.makeText(getApplicationContext(), data, 1).show();
46. // 关闭对话框
47. dialog.dismiss();
48. }
49. });
50. // 最后一步 和 土司一样 一定给我记得show出来
51. dialog.show();
3. 多选对话框
// [1]创建一个对话框实例
57. AlertDialog.Builder dialog = new Builder(this);
58. dialog.setTitle("请选择你喜欢的课程");
59.
60. final String items[] = {"茄子","柿子","黄瓜","白菜","榴莲","苹果"};
61. final boolean checkedItems[]= {true,false,true,false,false,true};
62. //[2]让对话框变为多选对话框
63. dialog.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {
64.
65. @Override
66. public void onClick(DialogInterface dialog, int which, boolean isChecked) {
67. }
68. });
69. //[3]添加确定按钮
70. dialog.setPositiveButton("确定", new OnClickListener() {
71.
72. @Override
73. public void onClick(DialogInterface dialog, int which) {
74. StringBuffer sb = new StringBuffer();
75. //把你选中的水果取出来
76. for (int i = 0; i < checkedItems.length; i++) {
77. if (checkedItems[i]) {
78. //把选中的水果取出来 数据在哪里存着就去哪里取
79. String fruit = items[i];
80. sb.append(fruit + " ");
81. }
82. }
83. Toast.makeText(getApplicationContext(), sb.toString(), 1).show();
84. //关闭对话框
85. dialog.dismiss();
86. }
87. });
88.
89. // 最后一步 和 土司一样 一定给我记得show出来
90. dialog.show();
4. 进度条对话框
//[1]创建进度条对话框
5. final ProgressDialog dialog = new ProgressDialog(this); //与进度相关控件可以在子线程更新ui
6. dialog.setMessage("正在玩命加载中");
7. //[2]改变一下对话框的样式
8. dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
9. //[3]最后一步show
10. dialog.show();
11. //[4]给进度条设置进度
12. //创建一个子线程
13. new Thread() {
14. public void run() {
15.
16. //[5]设置进度条最大值
17. dialog.setMax(100);
18. //[6]设置进度条当前进度
19. for (int i = 0; i <= 100; i++) {
20. //[7]睡眠50
21. SystemClock.sleep(50);
22. dialog.setProgress(i);
23. }
24. //[8]关闭对话框
25. dialog.dismiss();
26. }
27. }.start();
[ 2 ] 修改对话框的属性
/**
* 弹出进度条对话框
*/
private void showProgressDialog() {
progressDialog = new ProgressDialog(this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置进度条的样式,STYLE_HORIZONTAL:水平样式
progressDialog.setProgressDrawable(getResources().getDrawable(R.drawable.custom_progress_horizontal_tomoto));
progressDialog.setCancelable(false);//设置是否可以点击空白处消失
progressDialog.show();//显示操作
}
自定义进度条属性
android:startColor="#ffffff"
android:centerColor="#ffffff"
android:centerY="0.75"
android:endColor="#ffffff"
android:angle="270" />
android:startColor="#eb6100"
android:centerColor="#eb6100"
android:centerY="0.75"
android:endColor="#eb6100"
android:angle="270"/>
android:startColor="#eb6100"
android:centerColor="#eb6100"
android:centerY="0.75"
android:endColor="#eb6100"
android:angle="270"/>
5. 底部弹出框
dialog = new Dialog(this, R.style.ActionSheetDialogStyle);
//填充对话框的布局
inflate = LayoutInflater.from(this).inflate(R.layout.item_dialog_pay, null);
// 初始化控件
TextView close = (TextView) inflate.findViewById(R.id.tv_supportpay_close);
LinearLayout weixin = (LinearLayout) inflate.findViewById(R.id.ll_supportpay_weixin);
LinearLayout zhifubao = (LinearLayout) inflate.findViewById(R.id.ll_supportpay_zhifubao);
close.setOnClickListener(this);
weixin.setOnClickListener(this);
zhifubao.setOnClickListener(this);
// 将布局设置给Dialog
dialog.setContentView(inflate);
// 获取当前Activity所在的窗体
Window dialogWindow = dialog.getWindow();
//最重要的一句话,一定要加上!要不然怎么设置都不行
dialogWindow.setBackgroundDrawableResource(android.R.color.transparent);
// 设置Dialog从窗体底部弹出
dialogWindow.setGravity(Gravity.BOTTOM);
// 获得窗体的属性
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
Display d = dialogWindow.getWindowManager().getDefaultDisplay();
//获取屏幕宽
lp.width = (int) (d.getWidth());
//宽度按屏幕大小的百分比设置,这里我设置的是全屏显示
lp.gravity = Gravity.BOTTOM;
if (lp.gravity == Gravity.BOTTOM)
lp.y = 20;
//如果是底部显示,则距离底部的距离是0
dialogWindow.setAttributes(lp);
dialog.show();//显示对话框
android 中dialog对话框,Android中的对话框dialog相关推荐
- android 单选框 icon,Android中的普通对话框、单选对话框、多选对话框、带Icon的对话框、以及自定义Adapter和自定义View对话框详解...
标签: 对话框就是一个AlertDialog,但是一个简单的AlertDialog,我们却可以将它玩出许多花样来,下面我们就来一起总结一下AlertDialog的用法.看看各位童鞋在平时的工作中否都用 ...
- android 中怎么实现点击了对话框的按钮以后对话框不会消失,android 中怎么实现点击了对话框的按钮以后对话框不会消失...
满意答案 henpokeyo 2014.05.17 采纳率:40% 等级:9 已帮助:667人 在android中当你点击了对话框的按钮以后 不管你是否调用了dismis()函数系统本省都会去调 ...
- android中搜索对话框,android – 如何使用onSearchRequested()调用搜索对话框
我正在尝试实现搜索对话框,我无法显示活动中的搜索. 我在我的清单文件中定义了我的主要活动,此活动向用户显示他们必须选择的选项列表.其中一个选项是"搜索"选项. android:na ...
- android fragment 弹出对话框,Android中使用Dialogfragment显示对话框
其他注意事项: 1.如何设置自己的Dialogfragment没有标题栏? 可以通过两种方法来设置 ,一种是使用dialogfragment的setStyle函数,另外就是使用getDialog(). ...
- android开发提示对话框,Android中Notification 提示对话框
Notification,俗称通知,是一种具有全局效果的通知,它展示在屏幕的顶端,首先会表现为一个图标的形式,当用户向下滑动的时候,展示出通知具体的内容. 一.Notification用于状态栏显示通 ...
- 浅谈android中的自定义封装易用的Dialog
转载地址:http://blog.csdn.net/u013064109/article/details/51990526 好久没写Android的博客,最近在做一个android的项目,里面用到我们 ...
- android 带箭头的按钮,用Dialog创建带箭头的对话框
很多应用中,在点击Button后,会弹出一个带箭头的对话框,指向这个Button.网上查了,很多人都说用PopupWindow可以实现,我对PopupWindow不熟,于是试着用Dialog实现.(需 ...
- android中底部弹窗,Android实现从底部弹出的Dialog示例(一)
一.概述 先给大家看一下效果图: 点击中间的显示弹框按钮,从底部弹出来一个对话框,用户可以点击拍照或者从相册选择进行相应的操作,下面看看怎么实现. 二.代码实现 主页面布局文件,很简单,一个按钮,响应 ...
- android圆角对话框,Android项目实战(三十二):圆角对话框Dialog
原文: Android项目实战(三十二):圆角对话框Dialog 前言:html 项目中多处用到对话框,用系统对话框太难看,就本身写一个自定义对话框.android 对话框包括:一.圆角程序员 二.a ...
最新文章
- 【agc019F】Yes or No
- XNA Billboard(公告板技术)
- Spring Boot + JSP 创建web项目
- Python基础:对象的深拷贝和浅拷贝的区别
- 不懂电容原理?那是你没看到这些动图
- SOFAStack的前世今生
- springmvc框架下的国内地区级联效果(共享一下给学习的小伙伴)
- android viewpager切换无法显示fragment问题
- 047 Permutations II 有重复数字的全排列
- leaflet中文文档
- leetcode 面试题57 - II. 和为s的连续正数序列
- 弱电机房工程搬迁工作内容(方案)
- html table 实现表头固定
- 上海-苏州 100公里徒步旅行心情分享(一)
- 回顾林丹的职业生涯,用python看看粉丝都说了些什么!
- java获取当前日期所在周的周六、周日日期
- # 计算机科学导论习题见解(机械工业)
- python编写一个投票计数器_用python编写计数器
- ProE与UG的比较
- 特征值分解用于数据压缩(matlab实现)
热门文章
- uniapp手写板,签字,签名
- MySQl之最全且必会的sql语句
- 油液多参数云监测平台实现人工智能化
- day03--java基础编程:面向对象,构造方法,代码块讲解,this super,static,final,访问修饰符,方法重写,向上_下造型,main方法,抽象类,接口,设计模式,异常,内部类
- 进入新阶段的全球科技革命
- 桂林电子科技大学计算机评估,【图片】2016年第四次教育部学科评估结果【桂林电子科技大学吧】_百度贴吧...
- 谈谈功能测试、性能测试、自动化测试区别
- VSCODE 安装LATEX环境,参数配置,常见问题解决
- Confluent:control-center配置启动
- cocos lua -- 文字拼接及颜色处理(富文本)