1. public class MainActivity extends Activity {
  2.  
  3. private static final int MAX_PROGRESS = 100;
  4. private static final int PRO = 10;
  5. private Handler handler;
  6.  
  7. private int progress=10;
  8. private ProgressDialog progressDialog;
  9.  
  10. @Override
  11. protected void onCreate(Bundle savedInstanceState) {
  12. super.onCreate(savedInstanceState);
  13. //显示视图
  14. setContentView(R.layout.activity_main);
  15.  
  16. }
  17.  
  18. public void openDialog(View v) {
  19.  
  20. //调用 方法
  21. //test1();
  22. tes8();
  23. //myDialog();
  24.  
  25. }
  26.  
  27. public void test1() {
  28. // 创建对话框对象
  29. AlertDialog alertDialog = new AlertDialog.Builder(this).create();
  30.  
  31. // 设置对话框的标题
  32. alertDialog.setTitle("XXXXX");
  33. // 设置对话框中的内容
  34. alertDialog.setMessage("消息");
  35. // 显示对话框
  36. alertDialog.show();
  37. }
  38.  
  39. public void tes2() {
  40. AlertDialog alertDialog = new AlertDialog.Builder(this)
  41. .setTitle("xxxx").setMessage("xxxx").show();
  42.  
  43. }
  44.  
  45. // 对话框
  46. public void tes3() {
  47. new AlertDialog.Builder(this)
  48. .setIcon(R.drawable.ic_launcher)
  49. .setTitle("xxxx")
  50. .setMessage("是否创建文件")
  51. .setPositiveButton("确认", new DialogInterface.OnClickListener() {
  52.  
  53. @Override
  54. public void onClick(DialogInterface dialog, int which) {
  55. // 创建文件了
  56. new AlertDialog.Builder(MainActivity.this).setMessage(
  57. "文件已经被创建").show();
  58. }
  59. })
  60. .setNegativeButton("取消", new DialogInterface.OnClickListener() {
  61.  
  62. @Override
  63. public void onClick(DialogInterface dialog, int which) {
  64. new AlertDialog.Builder(MainActivity.this)
  65. .setMessage("您已经选择了取消的按钮,该文件不会被创建").create()
  66. .show();
  67.  
  68. }
  69. }).show();
  70. }
  71.  
  72. public void tes4() {
  73. final String items[] = { "Java", "PHP", "3G", ".NET" };
  74.  
  75. new AlertDialog.Builder(this).setTitle("简单列表对话框")
  76. .setItems(items, new DialogInterface.OnClickListener() {
  77.  
  78. @Override
  79. public void onClick(DialogInterface dialog, int which) {
  80. // 第一个参数 dialog int which 那个条目
  81. Toast.makeText(getApplicationContext(),
  82. "xxxxx" + items[which], Toast.LENGTH_LONG)
  83. .show();
  84.  
  85. }
  86. }).show();
  87. }
  88.  
  89. public void tes5() {
  90. final String items[] = { "Java", "PHP", "3G", ".NET" };
  91.  
  92. new AlertDialog.Builder(this).setTitle("单选列表对话框")
  93.  
  94. // 数据集中的某一列会作为列表对话框的数据加载的列表框中,该参数表示该列的名称(字段名称)
  95. .setSingleChoiceItems(items, 1,
  96. new DialogInterface.OnClickListener() {
  97.  
  98. @Override
  99. public void onClick(DialogInterface dialog,
  100. int which) {
  101. // 第一个参数 dialog int which 那个条目
  102. Toast.makeText(getApplicationContext(),
  103. "xxxxx" + items[which],
  104. Toast.LENGTH_LONG).show();
  105.  
  106. }
  107. }).show();
  108.  
  109. }
  110.  
  111. public void tes6() {
  112.  
  113. final String items[] = { "Java", "PHP", "3G", ".NET" };
  114.  
  115. new AlertDialog.Builder(this)
  116. .setTitle("多选列表对话框")
  117.  
  118. .setMultiChoiceItems(items,
  119. new boolean[] { false, true, true, false },
  120. new DialogInterface.OnMultiChoiceClickListener() {
  121.  
  122. @Override
  123. public void onClick(DialogInterface dialog,
  124. int which, boolean isChecked) {
  125.  
  126. if (isChecked) {
  127. Toast.makeText(getApplicationContext(),
  128. "xxx" + items[which],
  129. Toast.LENGTH_LONG).show();
  130. }
  131.  
  132. }
  133. })
  134. .setPositiveButton("确认", new DialogInterface.OnClickListener() {
  135.  
  136. @Override
  137. public void onClick(DialogInterface dialog, int which) {
  138. Toast.makeText(getApplicationContext(), "确认",
  139. Toast.LENGTH_LONG).show();
  140. }
  141. }).show();
  142.  
  143. }
  144.  
  145. //自定义的对话框
  146. public void myDialog(){
  147. LayoutInflater layoutInflater = getLayoutInflater();
  148. View view = layoutInflater.inflate(R.layout.activity_main, null); //R.layout.activty_main自定义的布局文件
  149. new AlertDialog.Builder(this).setView(view).setTitle("自定义的对话框").setPositiveButton("确认按钮", new DialogInterface.OnClickListener() {
  150.  
  151. @Override
  152. public void onClick(DialogInterface dialog, int which) {
  153. //处理
  154.  
  155. }
  156. }).show();
  157. }
  158.  
  159. //进度条对话框
  160. public void tes8(){
  161. handler = new Handler() {
  162.  
  163. @Override
  164. public void handleMessage(Message msg) {
  165.  
  166. super.handleMessage(msg);
  167. switch (msg.what) {
  168. case PRO:
  169.  
  170. if (progress >= MAX_PROGRESS) {
  171. // 重新设置
  172. progress = 0;
  173. progressDialog.dismiss();// 销毁对话框
  174. } else {
  175. progress++;
  176. progressDialog.incrementProgressBy(1);
  177.  
  178. // 延迟发送消息
  179. handler.sendEmptyMessageDelayed(PRO, 100);
  180. }
  181. break;
  182. default:
  183. break;
  184. }
  185.  
  186. }
  187. };
  188.  
  189. progressDialog = new ProgressDialog(this);
  190. progressDialog.setIcon(R.drawable.ic_launcher);
  191. progressDialog.setTitle("正在处理数据......");
  192. progressDialog.setMessage("请稍后...");
  193. progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条对话框
  194. // 样式(水平,旋体)
  195.  
  196. // 进度最大值
  197. progressDialog.setMax(MAX_PROGRESS);
  198.  
  199. progressDialog.setButton("暂停", new DialogInterface.OnClickListener() {
  200.  
  201. @Override
  202. public void onClick(DialogInterface dialog, int which) {
  203. //删除消息队列
  204. handler.removeMessages(PRO);
  205.  
  206. }
  207. });
  208.  
  209. progressDialog.setButton2("取消", new DialogInterface.OnClickListener() {
  210.  
  211. @Override
  212. public void onClick(DialogInterface dialog, int which) {
  213.  
  214. //删除消息队列
  215. handler.removeMessages(PRO);
  216. //恢复进度初始值
  217. progress=0;
  218. progressDialog.setProgress(progress);
  219. }
  220. });
  221.  
  222. // 显示
  223. progressDialog.show();
  224.  
  225. //必须设置到show之后 show之前 可能bug
  226. progress = (progress>0)?progress:0;
  227. progressDialog.setProgress(progress);
  228.  
  229. // 线程
  230. handler.sendEmptyMessage(PRO);
  231. }
  232. }

Android中九种dialog对话框代码的更多相关文章

  1. (转载)Android常用的Dialog对话框用法

    Android常用的Dialog对话框用法 Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的 ...

  2. Android之UI--打造12种Dialog对话框

    最近有空,来把app中常用到的Dialog对话框写一篇博客,在app中很多地方都会用到Dialog对话框,今天小编我就给大家介绍Dialog对话框. 先看看效果图: 12种,可根据需求选择,上图可知, ...

  3. Android UI系列-----Dialog对话框

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  4. Android Activity作为dialog对话框的使用详细介绍

    Activity做为Android应用层四大组件的重要组成部分,它的灵活性.可扩性无论是在应用还是游戏方面都得到了广泛应用,本文主要介绍Activity作为dialog对话框 的使用方法进行说明. 本 ...

  5. Android常用的Dialog对话框用法

    Android的版本有很多通常开发的时候对话框大多数使用自定义或是 Google提供的V4, V7 兼容包来开发保持各个版本的对话框样式统一,所以这里使用的是V7 包里的AlertDialog. im ...

  6. Android Dialog对话框的七种形式的使用

    参考资料:http://www.oschina.net/question/54100_32486 注:代码进行了整理 在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询 ...

  7. Android中Dialog对话框的调用及监听

    Android中经常会需要在Android界面上弹出一些对话框提示用户,比如App的退出的时候都会有各种框来挽留你的心,支付宝的时候输入密码的密码框,非常常见及其实用的功能,类似于JS中的alter, ...

  8. Android学习(十九)Dialog对话框

    一.什么是Dialog对话框 对话框是当前页面中弹出的一个小窗口,用于显示重要的提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等等.用户需要与对话框进行交互,才能回到原窗 ...

  9. Android中制作自定义dialog对话框的实例

    http://www.jb51.net/article/83319.htm   这篇文章主要介绍了Android中制作自定义dialog对话框的实例分享,安卓自带的Dialog显然不够用,因而我们要继 ...

随机推荐

  1. Eclipse用法和技巧二十六:浅谈快捷键

    网络上到处都是eclipse有哪些常用的快捷键,其中还有很多讲得着实不错,这里就不再狗尾续貂而是谈谈别的这段时间的一些思考.最近加入了开发团队,代码量突突的上去了,同时也发现关于快捷键还是有很多细节, ...

  2. Android 之 Fragment

    一  左侧标题列表 1.1  布局 left_fragment.xml <ListView xmlns:android="http://schemas.android.com/apk/ ...

  3. URAL 1707. Hypnotoad&#39;s Secret(树阵)

    URAL 1707. Hypnotoad's Secret space=1&num=1707" target="_blank" style="" ...

  4. Swift - 访问通讯录联系人(使用纯代码实现)

    1,通讯录访问介绍 通讯录(或叫地址簿,电话簿)是一个数据库,里面储存了联系人的相关信息.要实现访问通讯录有如下两种方式: (1)AddressBook.framework框架 : 没有界面,通过代码 ...

  5. perl lwp编码

    $var= $response->content; $var= $response->decoded_content;

  6. 基于visual Studio2013解决面试题之0807strstr函数

     题目

  7. android用shape画虚线,怎么也不显示

     一直以为android的shape能画直线.虚线.矩形,圆形等.画直线也就算了.用一个view设一下高度和颜色,就能够出来一条直线了.所以说这个对我来说常常不用,圆形是能够,看看我应用里的消息提 ...

  8. Spark on Mesos: 搭建Mesos的一些问题

    资源管理系统 Spark可以搭建在Mesos上或YARN上,两个都是资源管理系统.了解资源管理系统的话,可以先参看以下几篇文章: 浅谈Borg/YARN/Mesos/Torca/Corona一类系统 ...

  9. Matlab图像处理系列2———空间域平滑滤波器

    注:本系列来自于图像处理课程实验,用Matlab实现最主要的图像处理算法 本文章是Matlab图像处理系列的第二篇文章.介绍了空间域图像处理最主要的概念----模版和滤波器,给出了均值滤波起和中值滤波 ...

  10. 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)

    前言   由于一个同学问到我如何按照一个流程走好之后回到首页,我以前看到过4个解决方案,后来发现有做个记录和总结的必要,就写了这篇博文.(之前看小强也写过一篇,这里通过自身的分析完整的总结一下以下6种 ...