dialog

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=84871

1.确定取消对话框

对话框中有2个按钮   通过调用 setPositiveButton 方法 和 setNegativeButton 方法 可以设置按钮的显示内容以及按钮的监听事件。

 

 

我们使用AlerDialog 创建对话框

AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); 

 AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); 使用builder设置对话框的title button icon 等等

builder.setIcon(R.drawable.icon); builder.setTitle("你确定要离开吗?"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //这里添加点击确定后的逻辑 showDialog("你选择了确定"); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //这里添加点击确定后的逻辑 showDialog("你选择了取消"); } }); builder.create().show(); 

 builder.setIcon(R.drawable.icon); builder.setTitle("你确定要离开吗?"); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //这里添加点击确定后的逻辑 showDialog("你选择了确定"); } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //这里添加点击确定后的逻辑 showDialog("你选择了取消"); } }); builder.create().show();    这个dialog用于现实onClick后监听的内容信息

private void showDialog(String str) { new AlertDialog.Builder(MainDialog.this) .setMessage(str) .show(); } 

 private void showDialog(String str) { new AlertDialog.Builder(MainDialog.this) .setMessage(str) .show(); }

2.多个按钮信息框

AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); builder.setIcon(R.drawable.icon); builder.setTitle("投票"); builder.setMessage("您认为什么样的内容能吸引您?"); builder.setPositiveButton("有趣味的", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { showDialog("你选择了有趣味的"); } }); builder.setNeutralButton("有思想的", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { showDialog("你选择了有思想的"); } }); builder.setNegativeButton("主题强的", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { showDialog("你选择了主题强的"); } }); builder.create().show(); 

 AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); builder.setIcon(R.drawable.icon); builder.setTitle("投票"); builder.setMessage("您认为什么样的内容能吸引您?"); builder.setPositiveButton("有趣味的", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { showDialog("你选择了有趣味的"); } }); builder.setNeutralButton("有思想的", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { showDialog("你选择了有思想的"); } }); builder.setNegativeButton("主题强的", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { showDialog("你选择了主题强的"); } }); builder.create().show();

 

3.列表框

 

这个数组用于列表选择

final String[] mItems = {"item0","item1","itme2","item3","itme4","item5","item6"}; 

 final String[] mItems = {"item0","item1","itme2","item3","itme4","item5","item6"};

AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); builder.setTitle("列表选择框"); builder.setItems(mItems, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { //点击后弹出窗口选择了第几项 showDialog("你选择的id为" + which + " , " + mItems[which]); } }); builder.create().show(); 

 AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); builder.setTitle("列表选择框"); builder.setItems(mItems, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { //点击后弹出窗口选择了第几项 showDialog("你选择的id为" + which + " , " + mItems[which]); } }); builder.create().show();

4.单项选择列表框

 

 mSingleChoice 用于记录单选中的ID

int mSingleChoiceID = -1; 

 int mSingleChoiceID = -1;view plaincopy to clipboardprint?

AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); mSingleChoiceID = -1; builder.setIcon(R.drawable.icon); builder.setTitle("单项选择"); builder.setSingleChoiceItems(mItems, 0, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { mSingleChoiceID = whichButton; showDialog("你选择的id为" + whichButton + " , " + mItems[whichButton]); } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton)                                    

 AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); mSingleChoiceID = -1; builder.setIcon(R.drawable.icon); builder.setTitle("单项选择"); builder.setSingleChoiceItems(mItems, 0, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { mSingleChoiceID = whichButton; showDialog("你选择的id为" + whichButton + " , " + mItems[whichButton]); } }); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton)                                 

 

5.进度条框

 

点击进度条框按钮后 开启一个线程计算读取的进度 假设读取结束为 100 Progress在小于100的时候一直在线程中做循环++ 只到读取结束后,停止线程。

mProgressDialog = new ProgressDialog(MainDialog.this); mProgressDialog.setIcon(R.drawable.icon); mProgressDialog.setTitle("进度条窗口"); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.setMax(MAX_PROGRESS); mProgressDialog.setButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //这里添加点击后的逻辑 } }); mProgressDialog.setButton2("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //这里添加点击后的逻辑 } }); mProgressDialog.show(); new Thread(this).start(); public void run() { int Progress = 0; while(Progress < MAX_PROGRESS) { try { Thread.sleep(100); Progress++; mProgressDialog.incrementProgressBy(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } 

 mProgressDialog = new ProgressDialog(MainDialog.this); mProgressDialog.setIcon(R.drawable.icon); mProgressDialog.setTitle("进度条窗口"); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.setMax(MAX_PROGRESS); mProgressDialog.setButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //这里添加点击后的逻辑 } }); mProgressDialog.setButton2("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { //这里添加点击后的逻辑 } }); mProgressDialog.show(); new Thread(this).start(); public void run() { int Progress = 0; while(Progress < MAX_PROGRESS) { try { Thread.sleep(100); Progress++; mProgressDialog.incrementProgressBy(1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

6.多项选择列表框

 

MultiChoiceID 用于记录多选选中的id号 存在ArrayList中  选中后 add 进ArrayList  取消选中后 remove 出ArrayList。

7.自定义布局

 

启动这个 activity  程序正常运行~~

 注明:下面这个例子只是写了自定义dialog 没有把它单独的写在一个activity中 如果须要的话 可以自己改一下。 8.读取进度框

显示一个正在转圈的进度条loading 【借鉴于雨松MOMO】

转载于:https://www.cnblogs.com/caishuowen/archive/2011/12/21/2295843.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio 添加 自定义 路径宏

在编辑VS工程包含路径和库路径时&#xff0c;有时需要添加第三方包的路径&#xff0c;比如c boost库&#xff0c; 为了协作的方便&#xff0c;不合适直接把本地绝对路径添加入工程设置&#xff0c;此时可以添加自定义路径宏&#xff0c; 然后参与协作的每个开发人员&#xff0c…

openwrt 19 overlay 空间不足_重视 | 山西一矿井瓦斯爆炸,有限空间作业切记注意安全...

新闻速递20日2时许&#xff0c;山西潞安集团左权阜生煤业井下发生一起瓦斯爆炸事故&#xff0c;造成4人遇难、1人受伤。目前事故救援基本结束&#xff0c;事故原因正在调查中。近年来有限空间作业事故频发2010年6月21日凌晨1时40分左右&#xff0c;平顶山市卫东区兴东二矿发生井…

in python you can_Python编程:从入门到实践——【作业】——第十章(文件和异常)...

第十章10-1 Python学习 笔记 &#xff1a; 在文本编辑器中新建一个文件&#xff0c; 写几句话来总结一下你至此学到的Python知识&#xff0c; 其中每一行都以“In Python you can”打头。 将这个文件命名为learning_python.txt&#xff0c; 并将其存储到为完成本章练习而编写的…

辨析 const指针 和 指向常量的指针

辨析以下几种指针p的定义。 int tmp 5;int *p &tmp; const int *p &tmp; int const* p &tmp; int * const p &tmp; const int * const p &tmp; int const * const p &tmp; 根据文献一&#xff0c;可以采用从右往左读的方式区分。 第一个为普通指…

扩展极小值—lhMorpEMin

扩展极小值&#xff08;5*5正方形 h100 显示结果二值化&#xff09; 函数&#xff1a;lhMorpEMin 说明&#xff1a;形态学扩展极小值 参数&#xff1a; src 输入图像 dst 输出图像 h 深度或动态范围阈值 se 结构元素 源码&#xff1a; void lhMorpEMin(const IplImage* src…

c++win32项目 如何显示后再删除一个绘图_CAD快速绘图,不可不知的50个经典技巧,看完不迷茫!...

1、文字镜像如何设置转动与不转动&#xff1f;A、在镜像前&#xff0c;输入MIRRTEXT指令B、输入新值0 代表不转动 &#xff1b;输入新值1代表转动C、MIRRTEXT指令完成后&#xff0c;输入MI镜像指令就OK了2、CAD的版本转换&#xff1f;A、CAD高版本可以打开所有低版本的图纸B、C…

[html] 你有使用过template标签吗?说说它的用途有哪些?

[html] 你有使用过template标签吗&#xff1f;说说它的用途有哪些&#xff1f; HTML内容模板&#xff08;<template>&#xff09;元素是一种用于保存客户端内容机制&#xff0c;该内容在加载页面时不会呈现&#xff0c;但随后可以(原文为 maybe)在运行时使用JavaScript实…

用python画统计图表_Python数据科学(九)- 使用Pandas绘制统计图表

作者&#xff1a;许胜利 Python爱好者社区专栏作者博客专栏&#xff1a;许胜利的博客专栏1.信息可视化因为人对图像信息的解析效率比文字更高&#xff0c;所以可视化可以使数据更为直观&#xff0c;便于理解&#xff0c;使决策变得高效&#xff0c;所以信息可视化就显得尤为重要…

PHP添加php-java-brideg模块(ubuntu环境)

1、下载php-java-bridge 下载地址&#xff1a;https://sourceforge.net/projects/php-java-bridge/files/Binary%20package/php-java-bridge_7.2.1/exploded/JavaBridge.jar/download 2、将JavaBridge.jar上传到linux服务器中。例如/usr/local/src/ 3、修改php.ini文件。用find…

YSlow简介与使用(转)

原文&#xff1a;http://www.huluboke.com/firebug-yslow/ 除了Firebug自带的网络监控功能以外&#xff0c;还有很多Firebug监控插件提供更为详细的监控信息报告&#xff0c;在此介绍其中的佼佼者&#xff0c;YSlow。YSlow的下载地址为&#xff1a;http://developer.yahoo.com/…

安卓手机阅读器_乐应用|安卓手机本地阅读的不二之选

现在属于个人的时间越来越碎片化&#xff0c;因此为了方便&#xff0c;很多人选择在手机上阅读书籍。不同的人&#xff0c;有不同的阅读喜好&#xff0c;所以合适的阅读软件没有最好&#xff0c;只有更好。比如有人喜欢追网络小说&#xff0c;应用中集成在线书库就比较重要&…

[html] 你有使用过blockquote标签吗?说说它的用途有哪些?

[html] 你有使用过blockquote标签吗&#xff1f;说说它的用途有哪些&#xff1f; 用于标记长的引用 浏览器在 blockquote 元素前后添加了换行&#xff0c;并增加了外边距。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷…

莫兰迪色rgb颜色表_企业风险评价,(SCL)安全检查表,Excel工作表

说实在的&#xff0c;在很多中小企业里&#xff0c;风险评价在企业运行过程中&#xff0c;还是一项比较概念化的工作&#xff0c;明确地说就是不被重视&#xff0c;似乎有没有都无所谓。初次接触风险评价&#xff0c;感觉十分陌生&#xff0c;不知道从何入手&#xff0c;什么都…

cmake 判断操作系统平台

转载自 cmake 判断操作系统平台 MESSAGE(STATUS "operation system is ${CMAKE_SYSTEM}")IF (CMAKE_SYSTEM_NAME MATCHES "Linux")MESSAGE(STATUS "current platform: Linux ") ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")MESSAGE(…

android JSON数据解析

JSON作为一种“轻量”的数据结构传递数据&#xff0c;在JS中有广泛的应用Google公司对JSON的解析提供了gson.jar这个包&#xff0c;它不依赖于其他任何JAR包&#xff1b;目前在Android3.0中已经合入了该解析器的功能&#xff0c;但之前的版本是没有的。 findViewById(R.id.pars…

输入参数的数目不足 matlab_哈工大被禁用MATLAB,工科学生慌了,论文至上间接导致软件依赖?...

“与其让毕业生天天愁毕业论文的重复率&#xff0c;不如踏踏实实地搞点创新。”文 | 木兔 编辑 | 小豆6月6日起&#xff0c;陆续有哈尔滨工业大学(以下简称哈工大)的学生在知乎等社交网络上反映&#xff0c;MATLAB软件突然不能用了&#xff0c;明明学校已经购买了全套正版软件&…

python结巴_python结巴(jieba)分词

一、特点1、支持三种分词模式&#xff1a;(1)精确模式&#xff1a;试图将句子最精确的切开&#xff0c;适合文本分析。(2)全模式&#xff1a;把句子中所有可以成词的词语都扫描出来&#xff0c;速度非常快&#xff0c;但是不能解决歧义。(3)搜索引擎模式&#xff1a;在精确模式…

不同操作系统的宏定义区分

转载自 不同操作系统的宏定义区分 #ifdef _WIN32 //define something for Windows (32-bit and 64-bit, this part is common)#ifdef _WIN64 //define something for Windows (64-bit only)#else //define something for Windows (32-bit only)#endif#elif __APPLE__#include &…

three.js两个点给线条加宽度_一台电视两个房间看?衣柜、客房会隐形?这是什么神奇设计!...

今天介绍的家是一对小夫妻的新房&#xff0c;改造前的问题基本都是常见的槽点&#xff1a;进门过道细窄昏暗&#xff1b;厨卫小而局促&#xff1b;卧室和阳台被分成了4个小隔间&#xff0c;像群租的隔断房。1玄关利用镜面反射&#xff0c;空间视觉扩大一倍。进门的视角&#xf…