編輯: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.布局文件
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <ProgressBar android:id="@+id/progress_horizontal"
- style="?android:attr/progressBarStyleHorizontal"
- android:layout_width="200dip"
- android:layout_height="wrap_content"
- android:max="100"
- android:progress="50"
- android:secondaryProgress="75" />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="默認進度條" />
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <Button android:id="@+id/decrease"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="減少" />
- <Button android:id="@+id/increase"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="增加" />
- </LinearLayout>
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="自定義進度條" />
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
- <Button android:id="@+id/decrease_secondary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="第二減少" />
- <Button android:id="@+id/increase_secondary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="第二增加" />
- </LinearLayout>
- </LinearLayout>
2.Java代碼
- package wjq.WidgetDemo;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.view.Window;
- import android.widget.Button;
- import android.widget.ProgressBar;
- public class ProgressBarDemo extends Activity {
- /* (non-Javadoc)
- * @see android.app.Activity#onCreate(android.os.Bundle)
- */
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_PROGRESS);
- setContentView(R.layout.probarpage);
- setProgressBarVisibility(true);
- final ProgressBar progressHorizontal = (ProgressBar) findViewById(R.id.progress_horizontal);
- setProgress(progressHorizontal.getProgress() * 100);
- setSecondaryProgress(progressHorizontal.getSecondaryProgress() * 100);
- Button button = (Button) findViewById(R.id.increase);
- button.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- progressHorizontal.incrementProgressBy(1);
- // Title progress is in range 0..10000
- setProgress(100 * progressHorizontal.getProgress());
- }
- });
- button = (Button) findViewById(R.id.decrease);
- button.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- progressHorizontal.incrementProgressBy(-1);
- // Title progress is in range 0..10000
- setProgress(100 * progressHorizontal.getProgress());
- }
- });
- button = (Button) findViewById(R.id.increase_secondary);
- button.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- progressHorizontal.incrementSecondaryProgressBy(1);
- // Title progress is in range 0..10000
- setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());
- }
- });
- button = (Button) findViewById(R.id.decrease_secondary);
- button.setOnClickListener(new Button.OnClickListener() {
- public void onClick(View v) {
- progressHorizontal.incrementSecondaryProgressBy(-1);
- // Title progress is in range 0..10000
- setSecondaryProgress(100 * progressHorizontal.getSecondaryProgress());
- }
- });
- }
- }
全局變量顧名思義就是在整個的類中或者可在多個函數中調用的變量。也稱為外部變量。局部變量則是特定過程或函數中可以訪問的變量。聲明一個變量是很 容易的,但是講到使用的
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我
什麼是環境變量? 環境變量通常是指在操作系統當中,用來指定操作系統運行時需要的一些參數。通常為一系列的鍵值對。 path環境變量的作用 path環境變量是操作系統