android基础进度条原理

简介:

下面详细介绍ProgressBar

一、说明

  在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。这种模式常用于应用程序使用任务的长度是未知的。

二、XML重要属性

    android:progressBarStyle:默认进度条样式

    android:progressBarStyleHorizontal:水平样式

 

三、重要方法

    getMax():返回这个进度条的范围的上限

    getProgress():返回进度

    getSecondaryProgress():返回次要进度

    incrementProgressBy(int diff):指定增加的进度

    isIndeterminate():指示进度条是否在不确定模式下

    setIndeterminate(boolean indeterminate):设置不确定模式下

    setVisibility(int v):设置该进度条是否可视

四、重要事件

    onSizeChanged(int w, int h, int oldw, int oldh):当进度值改变时引发此事件

 
  1. 看一下实现代码 
  2.  
  3. package com.smart; 
  4.  
  5. import java.util.Timer; 
  6. import java.util.TimerTask; 
  7.  
  8. import android.app.Activity; 
  9. import android.os.Bundle; 
  10. import android.os.Handler; 
  11. import android.os.Message; 
  12. import android.widget.ProgressBar; 
  13.  
  14. public class Main extends Activity { 
  15.  
  16.     private ProgressBar progressBar; 
  17.     
  18.     
  19.     
  20.     
  21.     private Handler handler=new Handler(){ 
  22.         public void handleMessage(Message msg){ 
  23.             switch(msg.what){ 
  24.             case 1
  25.                 int currentProgress=progressBar.getProgress()+2
  26.             if(currentProgress>progressBar.getMax()) 
  27.             currentProgress=0//断送进度条 
  28.             progressBar.setProgress(currentProgress);//显示进度条进度 
  29.             break
  30.             } 
  31.             super.handleMessage(msg); 
  32.         } 
  33.     }; 
  34.     
  35.     private TimerTask timerTask=new TimerTask(){ 
  36. //信息 
  37.         @Override 
  38.         public void run() { 
  39.             Message message=new Message(); 
  40.             message.what=1
  41.             handler.sendMessage(message); 
  42.             
  43.                 
  44.         } 
  45.         
  46.     }; 
  47.     
  48.     
  49.     
  50.     @Override 
  51.     public void onCreate(Bundle savedInstanceState) { 
  52.         super.onCreate(savedInstanceState); 
  53.         setContentView(R.layout.main); 
  54.         progressBar=(ProgressBar)findViewById(R.id.progressbar); 
  55.         Timer timer=new Timer(); 
  56.         timer.schedule(timerTask,0,500); 
  57.         //第二个参数为:从0开始,第三个参数为:它的速度,越大越慢,越小越快。 
  58.         
  59.     } 

 

 
  1. main.xml文件 
  2.  
  3. <?xml version="1.0" encoding="utf-8"?> 
  4. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  5.     android:orientation="vertical" 
  6.     android:layout_width="fill_parent" 
  7.     android:layout_height="fill_parent" 
  8.     > 
  9.     
  10.     <ProgressBar 
  11.     android:id="@+id/progressbar" 
  12.      android:layout_width="fill_parent" 
  13.     android:layout_height="wrap_content" 
  14.    android:layout_marginTop="20dp" 
  15.     android:max="100" 
  16.     style="?android:attr/progressBarStyleHorizontal" 
  17.     /> 
  18.     
  19.     
  20.  
  21. </LinearLayout> 

 


本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/510427,如需转载请自行联系原作者

相关文章
|
24天前
|
XML Java Android开发
Android实现自定义进度条(源码+解析)
Android实现自定义进度条(源码+解析)
52 1
|
8月前
|
Android开发 UED
Android 实现通知栏和进度条效果(适用于Android8.0以上)
Android 实现通知栏和进度条效果(适用于Android8.0以上)
104 0
|
3天前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
18 0
|
3天前
|
网络协议 Shell Android开发
Android 深入学习ADB调试原理(1)
Android 深入学习ADB调试原理(1)
20 1
|
3天前
|
存储 Java Linux
Android系统获取event事件回调等几种实现和原理分析
Android系统获取event事件回调等几种实现和原理分析
25 0
|
4月前
|
XML API Android开发
Android 自定义View 之 圆环进度条
Android 自定义View 之 圆环进度条
|
2月前
|
Java 开发工具 Android开发
[Android AIDL] --- AIDL原理简析
[Android AIDL] --- AIDL原理简析
33 0
|
8月前
|
Android开发
Android PackageManagerService源码分析和APK安装原理详解
Android PackageManagerService源码分析和APK安装原理详解
206 1
|
8月前
|
Android开发
Android 中ProgressDialog进度条对话框的使用(使用子线程模拟更新进度)
Android 中ProgressDialog进度条对话框的使用(使用子线程模拟更新进度)
102 0
|
4月前
|
XML API Android开发
Android 自定义View 之 饼状进度条
Android 自定义View 之 饼状进度条