主要代码如下:
一:
/**默认进度条的使用*/
@SuppressLint("HandlerLeak")
public void defaultProgressBar(View view) {
System.out.println(hasData+","+status);
final TextView tv=(TextView) this.findViewById(R.id.textView1);
final ProgressBar pb = (ProgressBar) this
.findViewById(R.id.default_progressBar);
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if (msg.what==1) {
pb.setProgress(status);
tv.setText(status+"/100");
}
}
};
new Thread() {
public void run() {
while (status < 100)
{
// 获取耗时操作的完成百分比
status = doWork();
System.out.println(status);
// 发送消息到Handler
Message m = new Message();
m.what = 1;
// 发送消息
handler.sendMessage(m);
}
};
}.start();
}
二:耗时的操作:
public int doWork() {
// 为数组元素赋值
data[hasData++] = (int) (Math.random() * 100);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
return hasData;
}
三:布局文件的主要代码:
<LinearLayout
android:id="@+id/lin1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="defaultProgressBar"
android:text="@string/default_progressbar" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/progressbar_show"/>
</LinearLayout>
<!-- 定义默认的进度条 -->
<ProgressBar
android:id="@+id/default_progressBar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="297dp"
android:layout_height="wrap_content" />