Android中Progress的简单实例

Android中Progress的简单实例

Android中Progress网上的demo都是瞎扯淡,当然,你们也可以认为我的demo是瞎扯淡,因为,毕竟要理解别人的思路,很头疼,主要还是知道思路,然后一步一步慢慢来。今天我讲的是Progress的实现,如果看了我之前的博客,应该多少有些了解。话不多说,来看实例:

xml东西不多,自己定义把,因为Progress包括了一级读取和二级读取,所以主要是根据按钮来实现,下面就是一个点击事件:

public void onClick(View v) {
    switch (v.getId()) {
    case R.id.button1:
      // 增加10个刻度
      pro.incrementProgressBy(10);
      pro.incrementSecondaryProgressBy(15);
      break;
    case R.id.button2:
      // 减少10个刻度
      pro.incrementProgressBy(-10);
      pro.incrementSecondaryProgressBy(-5);
      break;
    case R.id.button3:
      // 重置
      pro.setProgress(0);
      pro.setSecondaryProgress(15);
      break;
    case R.id.button4:
      /*
       * 页面显示风格
       */
      // 新建对象
      dialog = new ProgressDialog(this);
      // 设置显示风格
      dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
      // 设置标题
      dialog.setTitle("大家好");
      // 设置图标
      dialog.setIcon(R.drawable.ic_launcher);
      // 设置内容
      dialog.setMessage("欢迎大家支持我!");
      /*
       * 设置一些Progressdialog的一些属性
       */
      // 设置最大进度
      dialog.setMax(100);
      // 设置初始已经增长的进度
      dialog.incrementProgressBy(50);
      // 进度条是否明确显示进度的
      dialog.setIndeterminate(false);
      /*
       * 设定一个确定按钮
       */
      dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "确定",
          new OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
              Toast.makeText(MainActivity.this, "再见",
                  Toast.LENGTH_SHORT).show();
            }
          });
      // 是否可以通过返回按钮退出对话框
      dialog.setCancelable(true);
      // 显示出来
      dialog.show();
      break;
    }
    text.setText("第一进度为:"
        + (int) (pro.getProgress() / (float) pro.getMax() * 100)
        + "%\n第二进度为:"
        + (int) (pro.getSecondaryProgress() / (float) pro.getMax() * 100)
        + "%");
  }

这样一个简单的Progress的Demo就实现,其实并不是很难,刚开始学的话,思路对了,写起来很快,当时我还花了一整个半天来理解这个。现在想想也是醉了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!