Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android 控件之ProgressBar進度條

Android 控件之ProgressBar進度條

編輯:Android開發實例

ProgressBar是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.布局文件

  1. <?xml version="1.0" encoding="utf-8"?> 
  2.  
  3. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  4.     android:orientation="vertical" 
  5.     android:layout_width="match_parent" 
  6.     android:layout_height="wrap_content"> 
  7.  
  8.     <ProgressBar android:id="@+id/progress_horizontal" 
  9.         style="?android:attr/progressBarStyleHorizontal" 
  10.         android:layout_width="200dip" 
  11.         android:layout_height="wrap_content" 
  12.         android:max="100" 
  13.         android:progress="50" 
  14.         android:secondaryProgress="75" /> 
  15.  
  16.     <TextView 
  17.         android:layout_width="wrap_content" 
  18.         android:layout_height="wrap_content" 
  19.         android:text="默認進度條" />          
  20.  
  21.     <LinearLayout 
  22.         android:orientation="horizontal" 
  23.         android:layout_width="match_parent" 
  24.         android:layout_height="wrap_content"> 
  25.  
  26.         <Button android:id="@+id/decrease" 
  27.             android:layout_width="wrap_content" 
  28.             android:layout_height="wrap_content" 
  29.             android:text="減少" /> 
  30.  
  31.         <Button android:id="@+id/increase" 
  32.             android:layout_width="wrap_content" 
  33.             android:layout_height="wrap_content" 
  34.             android:text="增加" /> 
  35.  
  36.     </LinearLayout> 
  37.  
  38.     <TextView 
  39.         android:layout_width="wrap_content" 
  40.         android:layout_height="wrap_content" 
  41.         android:text="自定義進度條" />          
  42.  
  43.     <LinearLayout 
  44.         android:orientation="horizontal" 
  45.         android:layout_width="match_parent" 
  46.         android:layout_height="wrap_content"> 
  47.  
  48.         <Button android:id="@+id/decrease_secondary" 
  49.             android:layout_width="wrap_content" 
  50.             android:layout_height="wrap_content" 
  51.             android:text="第二減少" /> 
  52.  
  53.         <Button android:id="@+id/increase_secondary" 
  54.             android:layout_width="wrap_content" 
  55.             android:layout_height="wrap_content" 
  56.             android:text="第二增加" /> 
  57.  
  58.     </LinearLayout> 
  59.  
  60. </LinearLayout> 
  61.  

 

2.Java代碼

  1. package wjq.WidgetDemo;  
  2.  
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.View;  
  6. import android.view.Window;  
  7. import android.widget.Button;  
  8. import android.widget.ProgressBar;  
  9.  
  10. public class ProgressBarDemo extends Activity {  
  11.  
  12.  /* (non-Javadoc)  
  13.   * @see android.app.Activity#onCreate(android.os.Bundle)  
  14.   */ 
  15.  @Override 
  16.  protected void onCreate(Bundle savedInstanceState) {  
  17.   // TODO Auto-generated method stub  
  18.   super.onCreate(savedInstanceState);  
  19.     
  20.    requestWindowFeature(Window.FEATURE_PROGRESS);  
  21.          setContentView(R.layout.probarpage);  
  22.          setProgressBarVisibility(true);  
  23.            
  24.          final ProgressBar progressHorizontal = (ProgressBar) findViewById(R.id.progress_horizontal);  
  25.          setProgress(progressHorizontal.getProgress() * 100);  
  26.          setSecondaryProgress(progressHorizontal.getSecondaryProgress() * 100);  
  27.            
  28.          Button button = (Button) findViewById(R.id.increase);  
  29.          button.setOnClickListener(new Button.OnClickListener() {  
  30.              public void onClick(View v) {  
  31.                  progressHorizontal.incrementProgressBy(1);  
  32.                  // Title progress is in range 0..10000  
  33.                  setProgress(100 * progressHorizontal.getProgress());  
  34.              }  
  35.          });  
  36.  
  37.          button = (Button) findViewById(R.id.decrease);  
  38.          button.setOnClickListener(new Button.OnClickListener() {  
  39.              public void onClick(View v) {  
  40.                  progressHorizontal.incrementProgressBy(-1);  
  41.                  // Title progress is in range 0..10000  
  42.                  setProgress(100 * progressHorizontal.getProgress());  
  43.              }  
  44.          });  
  45.  
  46.          button = (Button) findViewById(R.id.increase_secondary);  
  47.          button.setOnClickListener(new Button.OnClickListener() {  
  48.              public void onClick(View v) {  
  49.                  progressHorizontal.incrementSecondaryProgressBy(1);  
  50.                  // Title progress is in range 0..10000  
  51.                  setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());  
  52.              }  
  53.          });  
  54.  
  55.          button = (Button) findViewById(R.id.decrease_secondary);  
  56.          button.setOnClickListener(new Button.OnClickListener() {  
  57.              public void onClick(View v) {  
  58.                  progressHorizontal.incrementSecondaryProgressBy(-1);  
  59.                  // Title progress is in range 0..10000  
  60.                  setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());  
  61.              }  
  62.          });  
  63.            
  64.  }  
  65.  
  66. }  

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved