6.1 在对话框中使用进度条(1)

本文详细介绍如何在Android应用中使用对话框展示进度条,包括圆形和长形两种风格的进度条实现方法及代码示例。

6.1 在对话框中使用进度条(1)

2011-12-30 14:29 徐娜子 电子工业出版社  我要评论(0) 字号: T |  T
一键收藏,随时查看,分享好友!

《Android江湖》第6章人外有人,山外有山,在本章内容中讲解了Android控件的高级用法。首先讲解了对话框中使用进度条控件的基本知识和使用方法,然后依次介绍了Spinner、setDropDownViewResource、Gallery、AnalogClock和DigitalClock控件的基本用法,最后讲解了BaseAdapter容器的基本知识。本节为大家介绍在对话框中使用进度条。

AD:51CTO云计算架构师峰会 抢票进行中!

第6章 人外有人,山外有山

当今武林成名剑客、侠客有很多,加上藏龙卧虎和隐居世外的高人,高手更是不计其数。看来要想在江湖中占据一席之地,还必须打下扎实的基础,并向更深层次的境界发展。都说“欲穷千里目,更上一层楼”,安卓组件的功能博大精深,要想灵活使用,还需向深层次挖掘,才能达到最高境界。“人外有人,山外有山”一直在提醒我不要骄傲,不要满足于现在所取得的成功,要成功只有通过坚持不懈的努力。同样,前面只是介绍了Android中主要组件的心法,其实还有很多其他组件,利用这些组件能够实现更为复杂的功能,下面进行具体介绍。

6.1 在对话框中使用进度条(1)

秘籍中说道:ProgressDialog进度条的功能是在对话框中实现显示进度条效果。

 

练习1:练习ProgressDialog的基本使用方法

源码路径:第6章\jindu

第1步:编写布局文件main.xml,用于在界面中插入两个Button按钮。

第2步:编写文件strings.xml,用于设置标题文本。

   
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources> 
  3. <string name="hello">使用对话框进度条</string> 
  4. <string name="app_name">使用对话框进度条</string> 
  5. </resources> 

第3步:编写文件Activity01.java,实现单击Button按钮后的事件处理程序。其具体实现流程如下:

(1)声明进度条对话框m_pDialog;

(2)得到按钮对象mButton01和mButton02;

(3)设置mButton01的事件监听,首先创建ProgressDialog对象,然后设置进度条风格,风格为圆形、旋转的,最后分别设置ProgressDialog标题、提示信息、图标等信息;

(4)设置mButton02的事件监听,首先创建ProgressDialog对象,然后设置进度条风格,风格为长形,最后分别设置ProgressDialog 标题、提示信息、图标等信息;

(5)使ProgressDialog显示出来。

文件Activity01.java的主要实现代码如下所示:

   
  1. public class Activity01 extends Activity  
  2. {  
  3. private Button mButton01,mButton02;  
  4. int m_count = 0;  
  5. //声明进度条对话框  
  6. ProgressDialog m_pDialog;  
  7. /** Called when the activity is first created. */  
  8. @Override  
  9. public void onCreate(Bundle savedInstanceState)  
  10. {  
  11. super.onCreate(savedInstanceState);  
  12. setContentView(R.layout.main);  
  13. //得到按钮对象  
  14. mButton01 = (Button)findViewById(R.id.Button01);  
  15. mButton02 = (Button)findViewById(R.id.Button02);  
  16. //设置mButton01的事件监听  
  17. mButton01.setOnClickListener(new Button.OnClickListener() {  
  18. @Override  
  19. public void onClick(View v)  
  20. {  
  21. // TODO Auto-generated method stub  
  22. //创建ProgressDialog对象  
  23. m_pDialog = new ProgressDialog(Activity01.this);  
  24. // 设置进度条风格,风格为圆形,旋转的  
  25. m_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);  
  26. // 设置ProgressDialog 标题  
  27. m_pDialog.setTitle("温馨提示");  
  28. // 设置ProgressDialog 提示信息  
  29. m_pDialog.setMessage("这是圆形进度条对话框");  
  30. // 设置ProgressDialog 标题图标  
  31. m_pDialog.setIcon(R.drawable.img1);  
  32. // 设置ProgressDialog 的进度条是否不明确  
  33. m_pDialog.setIndeterminate(false);  
  34. // 设置ProgressDialog 是否可以按退回按键取消  
  35. m_pDialog.setCancelable(true);  
  36. // 设置ProgressDialog 的一个Button  
  37. m_pDialog.setButton("确定", new DialogInterface.OnClickListener() {  
  38. public void onClick(DialogInterface dialog, int i)  
  39. {  
  40. //单击"确定"按钮取消对话框  
  41. dialog.cancel();  
  42. }  
  43. });  
  44. // 让ProgressDialog显示  
  45. m_pDialog.show();  
  46. }  
  47. });  
  48. //设置mButton02的事件监听  
  49. mButton02.setOnClickListener(new Button.OnClickListener() {  
  50. @Override  
  51. public void onClick(View v)  
  52. {  
  53. // TODO Auto-generated method stub  
  54. m_count = 0;  
  55. // 创建ProgressDialog对象  
  56. m_pDialog = new ProgressDialog(Activity01.this);  
  57. // 设置进度条风格,风格为长形  
  58. m_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);  
  59. // 设置ProgressDialog 标题  
  60. m_pDialog.setTitle("温馨提示");  
  61. // 设置ProgressDialog 提示信息  
  62. m_pDialog.setMessage("这是长形对话框进度条");  
  63. // 设置ProgressDialog 标题图标  
  64. m_pDialog.setIcon(R.drawable.img2);  
  65. // 设置ProgressDialog 进度条进度  
  66. m_pDialog.setProgress(100);  
  67. // 设置ProgressDialog 的进度条是否不明确  
  68. m_pDialog.setIndeterminate(false);  
  69. // 设置ProgressDialog 是否可以按退回按键取消  
  70. m_pDialog.setCancelable(true);  
  71. // 让ProgressDialog显示  
  72. m_pDialog.show();  
  73. new Thread()  
  74. {  
  75. public void run()  
  76. {  
  77. try  
  78. {  
  79. while (m_count <= 100)  
  80. {  
  81. // 由线程来控制进度  
  82. m_pDialog.setProgress(m_count++);  
  83. Thread.sleep(100);  
  84. }  
  85. m_pDialog.cancel();  
  86. }  
  87. catch (InterruptedException e)  
  88. {  
  89. m_pDialog.cancel();  
  90. }  
  91. }  
  92. }.start();  
  93. }  
  94. });  
  95. }  
  96. 6.1 在对话框中使用进度条(2)

    程序执行后的效果如图6-1所示。

    当单击图6-1中的“圆形进度条”按钮后,将显示圆形的进度条效果,如图6-2所示;当单击图6-1中的“长形进度条”按钮后,将显示长形的进度条效果,如图6-3所示。

     
    图6-1 执行效果
     
    图6-2 圆形进度条
     
    图6-3 长形进度条
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值