我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何正确的使用ProgressBar与ProgessDialog

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何正确的使用ProgressBar与ProgessDialog

这期内容当中小编将会给大家带来有关如何正确的使用ProgressBar与ProgessDialog,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一、ProgressBar

1. 常用类型

1.1 不确定式圆形进度条

...

没有显示进度,可作为过场动画。有大、中、小三种大小,默认为中。

1.2 条形进度条

...

带有显示进度。

1.3 标题栏不确定式进度条

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);setProgressBarIndeterminateVisibility(true);

在标题栏右侧显示的无显示进度的圆形进度条。

1.4 标题栏条形进度条

requestWindowFeature(Window.FEATURE_PROGRESS);setProgressBarVisibility(true);

在标题栏顶部显示的条形进度条,可通过setProgess(int)设置当前进度,最大值为10000。

2. 常用控件属性

<!--最大显示进度-->android:max<!--第一显示进度-->android:progress<!--第二显示进度-->android:secondaryProgress<!--置是否精确显示;true为不精确,false为精确-->android:indeterminate<!--加载自定义样式-->android:progressDrawable

3. 自定义样式

通过控件的android:progressDrawable属性引用自定义的drawable文件实现。一般需定义三个内容:背景、第一进度、第二进度。

范例:

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">  <!--背景样式-->  <item android:id="@android:id/background">    <shape>      <!--圆角-->      <corners android:radius="10dip" />      <!--填充色-->      <solid android:color="#dddddd" />    </shape>  </item>  <!--第二进度样式-->  <item android:id="@android:id/secondaryProgress">    <clip>      <shape>        <corners android:radius="10dip" />        <solid android:color="#78bb78" />      </shape>    </clip>  </item>  <!--第一进度样式-->  <item android:id="@android:id/progress">    <clip>      <shape>        <corners android:radius="10dip" />        <solid android:color="#55bb55" />      </shape>    </clip>  </item></layer-list>

贴张效果图:

如何正确的使用ProgressBar与ProgessDialog

4. 关键方法

//设置第一进度setProgress(int)//设置第二进度setSecondaryProgress(int)//获取第一进度getProgress()//获取第二进度getSecondaryProgress()//增加或减少第一进度incrementProgressBy(int)//增加或减少第二进度incrementSecondaryProgressBy(int)//获取进度最大值getMax()

5. 范例

布局比较简单,线性布局,竖直排列,这里就不贴代码了,直接贴张图:

如何正确的使用ProgressBar与ProgessDialog

Java:

public class ProgessBarActivity extends Activity implements View.OnClickListener{  private ProgressBar progressBar;  private TextView text;  private Button addFirst;  private Button addSecond;  private Button subFirst;  private Button subSecond;  private Button reset;  private int first;  private int second;  private int max;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_progess_bar);    init();  }  private void init() {    progressBar = (ProgressBar) findViewById(R.id.progress_bar);    text = (TextView) findViewById(R.id.text);    addFirst = (Button) findViewById(R.id.add_first);    subFirst = (Button) findViewById(R.id.sub_first);    addSecond = (Button) findViewById(R.id.add_second);    subSecond = (Button) findViewById(R.id.sub_second);    reset = (Button) findViewById(R.id.reset);    //获取第一、第二、最大进度    first = progressBar.getProgress();    second = progressBar.getSecondaryProgress();    max = progressBar.getMax();    addFirst.setOnClickListener(this);    addSecond.setOnClickListener(this);    subFirst.setOnClickListener(this);    subSecond.setOnClickListener(this);    reset.setOnClickListener(this);  }  @Override  public void onClick(View v) {    switch (v.getId()) {      case R.id.add_first:        //第一进度加10        progressBar.incrementProgressBy(10);        break;      case R.id.add_second:        //第二进度加10        progressBar.incrementSecondaryProgressBy(10);        break;      case R.id.sub_first:        progressBar.incrementProgressBy(-10);        break;      case R.id.sub_second:        progressBar.incrementSecondaryProgressBy(-10);        break;      case R.id.reset:        //重置为初始数值        progressBar.setProgress(30);        progressBar.setSecondaryProgress(60);        break;    }    //更新文本内容    text.setText("第一进度为" + (int) (1.0*first/max*100) + "%,第二进度为" + (int) (1.0*second/max*100) + "%");  }}

二、ProgressDialog

1. 构造函数

ProgressDialog(Context context)ProgressDialog(Context context, int theme)//theme为对话框样式

2. 关键方法

//设置进度条样式setProgressStyle(int style)//设置对话框标题setTitle(String title)//设置对话框本文信息setMessage(CharSequence message)//设置对话框图标setIcon(Drawable d)//设置按钮,whichButton为按钮类型,text为按钮名称,listener为监听器setButton(int whichButton, CharSequence text, OnClickListener listener)//显示对话框show()

此外,除了这几个方法,ProgressDialog也可使用上面ProgressBar中介绍的方法。

3. 范例

public class ProgressDialogActivity extends Activity {  private ProgressDialog proDialog;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_progress_dialog);    findViewById(R.id.show).setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View v) {        //新建对话框        proDialog = new ProgressDialog(ProgressDialogActivity.this);        //设置进度条样式        proDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);        //设置对话框标题        proDialog.setTitle("初识ProgressDialog");        //设置提示对话框文本        proDialog.setMessage("好好学习,天天向上!");        //设置对话框显示图标        proDialog.setIcon(R.drawable.ic_launcher);        //设置进度条最大进度,默认为10000        proDialog.setMax(100);        //设置初始第一进度        proDialog.incrementProgressBy(30);        //设定取消按钮        proDialog.setButton(DialogInterface.BUTTON_POSITIVE, "取消", new DialogInterface.OnClickListener() {          @Override          public void onClick(DialogInterface dialog, int which) {            dialog.cancel();          }        });        //显示对话框        proDialog.show();      }    });  }}

上述就是小编为大家分享的如何正确的使用ProgressBar与ProgessDialog了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何正确的使用ProgressBar与ProgessDialog

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何正确的使用ProgressBar与ProgessDialog

这期内容当中小编将会给大家带来有关如何正确的使用ProgressBar与ProgessDialog,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、ProgressBar1. 常用类型1.1 不确定式圆形
2023-05-31

如何正确的使用UrlDecoder与UrlEncoder

如何正确的使用UrlDecoder与UrlEncoder?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一 URLEncoder HTML 格式编码的实用工具类。该类包含了将 S
2023-05-31

如何正确的使用BaseJDBC与CRUDDAO方法

如何正确的使用BaseJDBC与CRUDDAO方法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我们首先看下BASEJDBC的写法实例:package com.
2023-05-31

如何正确的使用JAXB

这期内容当中小编将会给大家带来有关如何正确的使用JAXB,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、jaxb是什么 JAXB是Java Architecture for XML Bindin
2023-05-31

如何正确的使用pytest

本篇文章为大家展示了如何正确的使用pytest,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、安装pytest,打开dos窗口输入:pip install pytest2、通过pycharm工具下
2023-06-07

如何正确的使用javascript

本篇文章为大家展示了如何正确的使用javascript,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用javascript的方法:1、可以用script标签引入