美文网首页
使用ProgressBar实现加载进度条

使用ProgressBar实现加载进度条

作者: 郑_S_W | 来源:发表于2019-07-15 19:05 被阅读0次

1,ProgressBar是进度条组件,通常用于向用户展示某个耗时操作完成的进度。

2,ProgressBar的关键属性:

*android:max="100"——最大显示进度
*android:progress="50"——第一显示进度
*android:secondaryProgress="80"——第二显示进度
*android:indeterminate="true" ——设置是否不精确显示进度。true表示不精确显示进度,false表示精确显示进度

3,ProgressBar的关键方法:

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

4,XML重要属性:

*android:progressBarStyle:默认进度条样式
*android:progressBarStyleHorizontal:水平样式

5,layout布局中的代码:

<span style="font-size:18px;"><ProgressBar //不精确显示进度的进度条(转啊转)
        android:id="@+id/progress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
 
    <ProgressBar //精确显示进度的进度条
        android:id="@+id/horizon"
        android:max="100"
        android:progress="50"
        android:secondaryProgress="80"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
 
    <Button
        android:id="@+id/add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/add" />
 
    <Button
        android:id="@+id/reduce"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/ruduse" />
 
    <Button
        android:id="@+id/reset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/reset" />
 
    <TextView //用来显示进度比例
        android:id="@+id/text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        
    </TextView></span><span style="font-size: 14px;">
</span>

6,java类中的代码:

<span style="font-size:18px;">public  class  MainActivity  extends  Activity  implements  OnClickListener {
private  ProgressBar  progressBar;
private  TextView  text;
private  Button  add,reduce,reset;
 
    @Override
    protected  void  onCreate(Bundle  savedInstanceState) {
        super.onCreate(savedInstanceState);
        //启用窗口特征,启用带进度和不带进度的进度条
        requestWindowFeature(Window.FEATURE_PROGRESS);
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);      
        setContentView(R.layout.main);
        //显示两种进度条
        setProgressBarVisibility(true);
        setProgressBarIndeterminateVisibility(true);
        //标题进度条的最大值max=10000
        setProgress(600);
 
        //初始化控件
        init();
    }
private void init() {
 
progressBar=(ProgressBar) findViewById(R.id.horizon);
add=(Button) findViewById(R.id.add);
reduce=(Button) findViewById(R.id.reduce);
reset=(Button) findViewById(R.id.reset);
text=(TextView) findViewById(R.id.text);
 
//1,获取进度条的第一进度
int first=progressBar.getProgress();
//2,获取进度条的第二进度
int second=progressBar.getSecondaryProgress();
//3,获取进度条的最大值
int max=progressBar.getMax();
//4,设置文本框中的进度百分比
text.setText("第一进度百分比:"+(int)(first/(float)max*100)+"%"+
"  第二进度百分比:"+(int)(second/(float)max*100)+"%");
 
//5,对三个按钮控件设置监听事件
add.setOnClickListener(this);
reduce.setOnClickListener(this);
reset.setOnClickListener(this);
 
}
//通过实现接口的方式来实现对控件的监听
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.add:
{
//增加第一进度和第二进度10个刻度
progressBar.incrementProgressBy(10);
progressBar.incrementSecondaryProgressBy(10);
break;
}
case R.id.reduce:
{
//减少第一进度和第二进度10个刻度
progressBar.incrementProgressBy(-10);
progressBar.incrementSecondaryProgressBy(-10);
break;
}
case R.id.reset:
{
//把第一进度和第二进度设置为原来的比例
progressBar.setProgress(50);
progressBar.setSecondaryProgress(80);
break;
}
default:
break;
} 
}
//每次点击按钮,都会触发onClick事件,这样每次都可以对text进行更新处理
text.setText("第一进度百分比:"+(int)(proressBar.getProgress()/(float)proressBar.getMax()*100)+"%  "+
  "第二进度百分比:"+(int)(proressBar.getSecondaryProgress()/(float)proressBar.getMax()*100)+"%");
}</span>

实现效果

image

相关文章

  • 使用ProgressBar实现加载进度条

    1,ProgressBar是进度条组件,通常用于向用户展示某个耗时操作完成的进度。 2,ProgressBar的关...

  • ProgressBar

    Android控件--ProgressBar 三种方式实现自定义圆形进度条ProgressBar

  • 进度条使用

    目录 ProgressBar(进度条) ProgressBar是Android下的进度条,也是为数不多的直接继承于...

  • Android开发自定义ProgressBar样式

    先看效果图: 1、分析,先看左边的加载圈圈ProgressBar 由于它不是进度条,所以得用indetermina...

  • 安卓中踩过的坑

    1、进度条ProgressBar的使用: android:drawable 指定drawable资源,如果不设置该...

  • 自定义progressbar

    progressbar 自定义progressbar 进度条 圆形progressbar 世界因为有了互相帮助,...

  • UI布局two---对话框

    ProgressBar 作用是在界面上显示一个进度条,表示我们的程序正在加载一些数据 android:max:设置...

  • 进度条,拖动条,星级评分条

    进度条ProgressBar的功能和用法 ProgressBar概述进度条是UI界面中的一种非常实用的组件,通常向...

  • 实现圆形头部渐变进度条的一种方案

    实现渐变进度条的一种方案,解决进度小于头部半圆时变形的问题。 上方的进度条为系统的ProgressBar,可以看到...

  • ProgressBar使用

    进度条在项目中已经被广泛使用,Android原生的进度条控件是ProgressBar,这个控件必须要了解的,但是一...

网友评论

      本文标题:使用ProgressBar实现加载进度条

      本文链接:https://www.haomeiwen.com/subject/neeokctx.html