布局文件中的声明 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <!-- style表示进度条的外观,有两种 "?android:attr/progressBarStyleHorizontal"表示水平进度条 "?android:attr/progressBarStyle"表示默认风格(圆圈)外观进度条 android:visibility表示进度条的可视状态,gone表示不可见, 需要由程序来将其改为可视 --> <ProgressBar android:id="@+id/firstBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="200dp" android:layout_height="wrap_content" android:visibility="gone" /> <ProgressBar android:id="@+id/secondBar" style="?android:attr/progressBarStyle" android:layout_width="200dp" android:layout_height="wrap_content" android:visibility="gone" /> <Button android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Begin" /> </LinearLayout> 源文件: package me.bym; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ProgressBar; public class ProgressBarTest extends Activity { private ProgressBar firstBar = null; private ProgressBar secondBar = null; private Button startButton = null; private int i = 0; // 声明进度条计数状态值 /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); firstBar = (ProgressBar) findViewById(R.id.firstBar); secondBar = (ProgressBar) findViewById(R.id.secondBar); startButton = (Button) findViewById(R.id.myButton); startButton.setOnClickListener(new ButtonListener()); } class ButtonListener implements OnClickListener { @Override public void onClick(View v) { if (0 == i) { // 将bar设置为可见 firstBar.setVisibility(View.VISIBLE); // 设置bar的最大显示值(范围) // 也可在配置文件中ProgressBar设置属性: // android:max="maxValue" firstBar.setMax(100); secondBar.setVisibility(View.VISIBLE); } else if (i < firstBar.getMax()) { // 设置bar的显示的进度值 firstBar.setProgress(i); firstBar.setSecondaryProgress(i + 10); // 由于默认的bar不显示进度值 // secondBar.setProgress(i); } else { firstBar.setVisibility(View.GONE); secondBar.setVisibility(View.GONE); } i += 10; } } }