效果图
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ProgressBar pb = (ProgressBar) findViewById(R.id.progressBar4);
final TextView tv = (TextView) findViewById(R.id.tv);
pb.setMax(200);
pb.setProgress(0);
new Thread() {
public void run() {
// 模拟耗时任务
int index = 0;
while (index++ < 200) {
try {
Thread.sleep((int) (Math.random() * 200));
} catch (InterruptedException e) {
e.printStackTrace();
}
// 修改值
// 做了UI的处理,所以直接可以再子线程中修改UI
pb.setProgress(index);
// 需要使用UI线程
runOnUiThread(new Runnable() {
@Override
public void run() {
tv.setText(pb.getProgress() + "/" + pb.getMax());
}
});
}
};
}.start();
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.xykj.id05_10_10.MainActivity" >
<ProgressBar
android:id="@+id/pb1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_margin="10dp"/>
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@id/pb1"
android:layout_below="@id/pb1"
android:padding="10dp"
android:text="0/200" />
</RelativeLayout>