ProgressBar的关键属性
android:max="100" ——最大显示进度
android:progress="50" ——第一显示进度
android:secondaryProgress="80" ——第二显示进度
android:indeterminate="false" 设置是否模糊显示(indeterminate:模糊的、不明确的)
true表示不精确显示进度,false表示精确显示进度
----------------------------
关键方法:
(1)setProgress(int) 设置第一进度
(2)setSecondaryProgress(int) 设置第二进度
(3)getProgress() 获取第一进度
(4)getSecondaryProgress() 获取第二进度
(5)incrementProgress(int) 增加或减少第一进度
(6)incrementSecondaryProgress(int) 增加或减少第二进度
(7)getMax() 获取最大进度

自定义进度条:

在main.xml文件下的<Progress>的属性style改成:style="@android:style/Widget.ProgressBar.Horizontal"
然后,按住Ctrl,左击"@android:style/Widget.ProgressBar.Horizontal",就进入 styles.xml,这时将看到<style name="Widget.ProgressBar.Horizontal">,在其属性中有<item name="progressDrawable">@drawable/progress_horizontal</item>
,再次按住Ctrl并左击该属性,就进入了进度条样式的文件。创建完样式后,在 main.xml中的<Progress>里面添加属性:
android:progressDrawable="@drawable/progress_bar"
就会覆盖原有的样式,实现了自定义进度条样式的效果。
  1 /进度条: 监听和ProgressDialog对话框
  2 //控制进度条的增加,减少,重置
  3
  4
  5 public class MainActivity extends Activity implements OnClickListener {
  6     private ProgressBar progressBar, progressBar2;
  7     private TextView textView;
  8     private Button add, reduce, reset;
  9     private ProgressDialog progressDialog;
 10     private Button button;
 11
 12     @Override
 13     protected void onCreate(Bundle savedInstanceState) {
 14         super.onCreate(savedInstanceState);
 15         //-----------标题栏的进度条----------------
 16         //启用窗口特征,启用带进度和不带进度的进度条
 17         requestWindowFeature(Window.FEATURE_PROGRESS);
 18         requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
 19         setContentView(R.layout.fragment_main);
 20         //显示两种进度条
 21         setProgressBarVisibility(true);
 22         setProgressBarIndeterminateVisibility(true);
 23         //max=10000
 24         setProgress(8000);
 25         //--------------------progressBar------------------------
 26
 27         progressBar = (ProgressBar) findViewById(R.id.progressBar1);
 28         progressBar2 = (ProgressBar) findViewById(R.id.progressBar2);
 29         textView = (TextView) findViewById(R.id.textView1);
 30         add = (Button) findViewById(R.id.add);
 31         reduce = (Button) findViewById(R.id.reduce);
 32         reset = (Button) findViewById(R.id.reset);
 33
 34         button = (Button) findViewById(R.id.button1);
 35         button.setOnClickListener(this);
 36
 37         // 获取第一条进度条的进度----正在播放时的
 38         int first = progressBar2.getProgress();
 39
 40         // 获取第二条进度条的进度----缓冲
 41         int second = progressBar2.getSecondaryProgress();
 42         // 获取进度条最大进度
 43         int max = progressBar2.getMax();
 44         textView.setText("第一进度百分百:"
 45                 + (int) (first / (float) max * 100) + "%"
 46                 + (int) (second / (float) max * 100) + "%");
 47         add.setOnClickListener(this);
 48         reduce.setOnClickListener(this);
 49         reset.setOnClickListener(this);
 50     }
 51
 52     @Override
 53     public void onClick(View v) {
 54         // TODO Auto-generated method stub
 55         switch (v.getId()) {
 56         case R.id.add: {
 57             // 增加第一进度第二进度10刻度
 58             progressBar2.incrementProgressBy(10);
 59             progressBar2.incrementSecondaryProgressBy(10);
 60             break;
 61         }
 62
 63         case R.id.reduce: {
 64             // 减少第一进度第二进度10刻度
 65             progressBar2.incrementProgressBy(-10);
 66             progressBar2.incrementSecondaryProgressBy(-10);
 67             break;
 68         }
 69
 70         case R.id.reset: {
 71             progressBar2.setProgress(50);
 72             progressBar2.setSecondaryProgress(80);
 73             break;
 74         }
 75         case R.id.button1: {
 76             // 页面风格:
 77             // 1.新建progressDialog对象
 78             progressDialog = new ProgressDialog(MainActivity.this);
 79             progressDialog.setProgressStyle(progressDialog.STYLE_HORIZONTAL);
 80             // 设置标题
 81             progressDialog.setTitle("下载;");
 82             // 设置对话框里的文字信息
 83             progressDialog.setMessage("欢迎大家下载");
 84             // 设置图标
 85             progressDialog.setIcon(R.drawable.ic_launcher);
 86
 87             // progreBar的一些属性
 88             progressDialog.setMax(100);
 89             // 设置初始化的进度
 90             progressDialog.incrementProgressBy(50);
 91             // 进度条是明确显示进度的
 92             progressDialog.setIndeterminate(false);
 93             // 设置一个确定按钮
 94             progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定",
 95                     new DialogInterface.OnClickListener() {
 96
 97                         @Override
 98                         public void onClick(DialogInterface dialog, int which) {
 99                             // TODO Auto-generated method stub
100                             Toast.makeText(MainActivity.this, "hahahha,你来了", 1)
101                                     .show();
102                         }
103                     });
104             // 是否可以通过返回按钮退出对话框
105             progressDialog.setCancelable(true);
106             // 显示progressDialog
107             progressDialog.show();
108             break;
109         }
110         }
111         textView.setText("第一进度百分百:"
112                 + (int) (progressBar2.getProgress()/ (float) progressBar2.getMax() * 100)
113                 + "%"
114                 + (int) (progressBar2.getSecondaryProgress()/ (float) progressBar2.getMax() * 100) + "%");
115     }
116
117 }

 

转载于:https://www.cnblogs.com/my334420/p/6709128.html

Android攻城狮 progressBarprogressDialog相关推荐

  1. 写给即将/正在找工作的Android攻城狮

    写给即将/正在找工作的Android攻城狮 版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com 这段时间从北上广深杭不断传来一两个月找不到工作的消息,我一 ...

  2. Android攻城狮ListView

    适配器: 数据适配器:把复杂的数据填充在指定的视图界面上ArrayAdapter 数组适配器 用于绑定格式单一的数据 数据源:可以是集合或数组 SimpleAdapter 简单适配器:用于绑定格式复杂 ...

  3. Android攻城狮Gallery和ImageSwitcher制作图片浏览器

    使用Gallery 和 ImageSwitcher 制作图片浏览器 Gallery介绍 我们有时候在手机上或者PC上看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的图片滚动效果,还可以根据 ...

  4. Android攻城狮GestureDetector和GestureOverlayView

    手势识别 可以通过以下两种方式实现: 1. 使用GestureDetector 2. 使用GestureOverlayView(属于线程的控件)手势交互过程(原理): 1. 触屏一刹那,触发 Moti ...

  5. Android攻城狮fragment

    1 //1,fragment静态加载:MainActivity MainActivty1_2 Myfragment1 2 //2,fragment动态加载 :MainActivity Myfragme ...

  6. Android攻城狮ScrollView

    ScrollView 滚动视图 滚动视图是指当前拥有很多内容,屏幕显示不完整时,需要通过滚动来显示完整的视图. ----------------------------- ScrollBar分两种: ...

  7. Android攻城狮ViewFlipper

    使用ViewFlipper实现屏幕切换动画效果. ViewFlipper和ViewPager一样,都是Android自带的一个多页面管理控件,不同的是ViewPager是手动切换页面,而ViewFli ...

  8. Android攻城狮数据存储之SharedPreferences

    Android的四种数据存储方式: 1. SharedPreferences 2. SQLite 3. Content Provider 4. File --------------------- S ...

  9. Android攻城狮认识ContextMenu

    什么是ContextMenu? 例如Windows系统的右键菜单,在Android中长按某个文件夹,会跳出菜单,这个菜单就是ContextMenu. ContextMenu与OptionMenu的区别 ...

最新文章

  1. c++ 虚函数_到底什么情况下会合成默认构造函数?
  2. 使用bash工具创建ssh key
  3. android string json,安卓之String json解析
  4. 关于计算机的发展过程及基础知识正确的是,2011doc-计算机基础知识.doc
  5. [导入]对iis写权限的利用
  6. editor多功能文本框在有些计算机上不能正常加载,解决方法,本人用的是把js调用方法放到body/body后面)...
  7. R-CNN , Fast R-CNN , Faster R-CNN原理及区别
  8. java velocity详解_[velocity] velocity详解
  9. 成为一名架构师得学习哪些知识?
  10. hc06蓝牙模块介绍_微测评 | 小米智能插座蓝牙网关版
  11. apache2 python mysql_Ubuntu配置Django+ Apache2+ mysql
  12. java编程题全集及答案_JAVA编程题全集(100题及答案)q
  13. javascript实现根据汉字获取拼音或者获取拼音首字母
  14. android代码 发警报音,Android设置多个警报
  15. java fillrect_Java graphics2D fillRect无法使用半透明颜色正常...
  16. fpga控制vga显示彩色图片
  17. 如何实现 “中间这几个字要加粗,但是不要太粗,比较纤细的那种粗” ?
  18. ios 中webView加载html文本图片显示不全
  19. 怎样选择ADC芯片?
  20. 有时候可用 UIWebView 代替 UITextView,解决行间距问题

热门文章

  1. Swagger 配置多个接口文档实现 和 实现多包扫描的配置方式
  2. 重拾Java基础知识:设计模式
  3. div实现拖动时候出现禁止图标解决——e.preventDefault e.preventDefault();
  4. 慎用yum update
  5. 多期DID和事件研究法含文献和do代码
  6. 笔记 C++11 std::minmax_element() 的使用(寻找最小值和最大值)
  7. Oracle安装后检查内容,ORA-12541:TNS:no listener错误解决方法
  8. 《扫雷》游戏递归算法分析
  9. file_operations结构体介绍
  10. Gitea配置文件说明