Android(java)学习笔记72:ProgressBar的使用

摘要:
˃271218232935˂ProgressBar36android:lay out_width=”wrapp_ content”37android:layout_height=“wrap_ content”38android:text=“progress3”39style=“?

1. ProgressBar使用

首先我们看例程如下:

(1) main.xml文件如下:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="vertical"
 4     android:layout_width="fill_parent"
 5     android:layout_height="fill_parent"
 6     >
 7          <TextView
 8               android:layout_width="wrap_content" 
 9            android:layout_height="wrap_content" 
10            android:text="默认进度条:"
11            />
12       <ProgressBar  
13            android:layout_width="wrap_content" 
14            android:layout_height="wrap_content" 
15            android:text="progress1" 
16 //没有设置style,默认样式,中度旋转的圆形进度条 17 /> 18 <TextView 19 android:layout_width="wrap_content" 20 android:layout_height="wrap_content" 21 android:text="小圆形进度条:" 22 /> 23 <ProgressBar 24 android:layout_width="wrap_content" 25 android:layout_height="wrap_content" 26 android:text="progress3" 27 style="?android:attr/progressBarStyleSmall" 28 /> 29 <TextView 30 android:layout_width="wrap_content" 31 android:layout_height="wrap_content" 32 android:text="大圆形进度条:" 33 android:layout_gravity="center_vertical" 34 /> 35 <ProgressBar 36 android:layout_width="wrap_content" 37 android:layout_height="wrap_content" 38 android:text="progress3" 39 style="?android:attr/progressBarStyleLarge" 40 /> 41 <TextView 42 android:layout_width="wrap_content" 43 android:layout_height="wrap_content" 44 android:text="条形进度条:" 45 android:id="@+id/tv" 46 /> 47 <ProgressBar 48 android:layout_width="fill_parent" 49 android:layout_height="wrap_content" 50 android:text="progress2" 51 android:id="@+id/porb" 52 style="?android:attr/progressBarStyleHorizontal" 53 android:max="100" 54 android:progress="50" 55 android:secondaryProgress="70" 56 /> 57 </LinearLayout>

(2)接下来是MainActivity.java文件:

 1 package com.progressbar;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.widget.ProgressBar;
 6 //使用Runnable接口
 7 public class MainActivity extends Activity implements Runnable {
 8     private Thread th ;            //声明一条线程
 9     private ProgressBar pb ;     //声明一个进度条对象
10     private boolean stateChage; //标识进度值最大最小的状态
11     @Override
12     public void onCreate(Bundle savedInstanceState) {
13         super.onCreate(savedInstanceState);
14         setContentView(R.layout.main); 
15         //实例进度条对象
16         pb = (ProgressBar)findViewById(R.id.porb); 
17         th = new Thread(this);//实例线程对象,当前MainActivity实现了Runnable接口,这样MainActivity本身可以作为参数实例化Thread()对象
18         th.start();//启动线程
19     }
20 
21     @Override
22     public void run() {//实现Runnable接口抽象函数
23         while(true){ 
24             int current = pb.getProgress();//得到当前进度值
25             int currentMax = pb.getMax();//得到进度条的最大进度值
26             int secCurrent = pb.getSecondaryProgress();//得到底层当前进度值
27             //以下代码实现进度值越来越大,越来越小的一个动态效果
28             if(stateChage==false){ 
29                 if(current>=currentMax){ 
30                     stateChage=true; 
31                 }else{
32                     //设置进度值
33                     pb.setProgress(current+1);
34                     //设置底层进度值
35                     pb.setSecondaryProgress(current+1);
36                 }
37             }else{
38                 if(current<=0){ 
39                     stateChage=false; 
40                 }else{
41                     pb.setProgress(current-1);
42                     pb.setSecondaryProgress(current-1);
43                 }
44             }
45 // 设置长方形进度条进度变大和变小的速率快慢
46             try {
47                 Thread.sleep(50);
48             } catch (InterruptedException e) {
49                 // TODO Auto-generated catch block
50                 e.printStackTrace();
51             }
52         }
53     }
54 }

3. 总结:

(1)Android的ProgressBar样式

   长形进度条

超大号圆形ProgressBar
   超大号圆形ProgressBar,Inverse反向转向的
  小号圆形ProgressBar

标题型圆形ProgressBar

等等还有很多

(2)setProgress和setSecondaryProgress区别:
这么说你肯定明白:网络视频加载的时候有个播放进度和缓冲进度,播放进度一般可以用setProgerss来显示,而setSecondaryProgress就是用来显示缓冲进度的
同样的360的雷神引擎也是一样,setProgress是文件写入本地进度,setSecondaryProgress就是文件加载进度。还不明就自己写一个Demo测试一遍。写一个把复制文件的程序,setProgress表示往流里面读数据,setSecondaryProgerss表示从流里面输出数据

免责声明:文章转载自《Android(java)学习笔记72:ProgressBar的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[zz]kvm环境快照(snapshot)的使用方法mysql二进制日志下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WinForm控件之【ProgressBar】

基本介绍 进度条控件,用于显示某操作动作进度或跑马灯效果。 常设置属性 Value:获取或设置进度栏的当前位置; Style:进度栏指示进度所使用的展示方式; Maximum:控件使用范围的上限; Minimum:控件使用范围的下限; MarqueeAnimationSpeed:进度块在进度栏内滚动所用的时间段,以毫秒为单位; Step:调用Perform...

【Android】开源项目UI控件分类汇总之ProgressBar

Android开发的宝库越来越多,我开发中有需要的组件,主要参考Trinea的大作Android开源项目分类汇总(包含了后面的绝大多数)、CSDN上直接拿来用!最火的Android开源项目还有CSDN上的直接拿来用!十大Material Design开源项目,受益匪浅,但是,有的分类项目太多,不是每个项目都有预览,不容易找到什么是最想要的,而且有一些项目不...

android学习ProgressBar的简单使用

android 提供的ProgressBar控件分为两种,一种是不带进度的进度条,一种是带进度的进度条,如果可以计算任务的完成量那么就用带进度条的,如果无法计算任务量,那么就使用不带进度的进度条。ProgressBar如果说只使用系统提供的,那就很简单,就只有那些属性方法,但是感觉比较难得就是ProgressBar的样式,一般做应用都不会直接使用系统提供的...

Android 进度条

ProgressBar是一个进度条控件,一般在需要做某个比较耗时的操作的时候,向用户展示执行进度,以免用户以为已经失去响应。 常用属性: style  设置进度条的样式 visible     是否显示进度条 1、圆形进度条 一个圆形进度条,不断旋转。 1 <ProgressBar 2 android:layout_width="wr...

progressBar的使用

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_w...

android ProgressBar(进度条)

本节引言: 本节给大家带来的是Android基本UI控件中的ProgressBar(进度条),ProgressBar的应用场景很多,比如 用户登录时,后台在发请求,以及等待服务器返回信息,这个时候会用到进度条;或者当在进行一些比较 耗时的操作,需要等待一段较长的时间,这个时候如果没有提示,用户可能会以为程序Carsh或者手机死机 了,这样会大大降低用户体验...