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,如需转载请自行联系原作者

相关文章
|
29天前
|
安全 Shell Android开发
Android系统 init.rc sys/class系统节点写不进解决方案和原理分析
Android系统 init.rc sys/class系统节点写不进解决方案和原理分析
53 0
|
29天前
|
安全 Android开发
Android13 Root实现和原理分析
Android13 Root实现和原理分析
149 0
|
29天前
|
Java Android开发
Android系统 获取用户最后操作时间回调实现和原理分析
Android系统 获取用户最后操作时间回调实现和原理分析
40 0
|
29天前
|
算法 Android开发
Android签名算法的原理
Android签名算法的原理
26 0
|
29天前
|
XML Java Android开发
Android实现自定义进度条(源码+解析)
Android实现自定义进度条(源码+解析)
62 1
|
28天前
|
Android开发 移动开发 小程序
binder机制原理面试,安卓app开发教程
binder机制原理面试,安卓app开发教程
binder机制原理面试,安卓app开发教程
|
29天前
|
存储 Java Android开发
Android系统 设置第三方应用为默认Launcher实现和原理分析
Android系统 设置第三方应用为默认Launcher实现和原理分析
124 0
|
10天前
|
Java API Android开发
19. 【Android教程】进度条 ProgressBar
19. 【Android教程】进度条 ProgressBar
15 4
|
27天前
|
Android开发 异构计算 前端开发
Android显示原理,安卓自定义view面试
Android显示原理,安卓自定义view面试
|
28天前
|
Android开发
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析
Flutter完整开发实战详解(六、 深入Widget原理),2024百度Android岗面试真题收录解析