本文实例讲述了Android中ProgressBar用法。分享给大家供大家参考,具体如下:
在android中会经常用到ProgressBar,下面通过举例来说明如何使用ProgressBar。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
public class A03Activity extends Activity {
private ProgressBar rectangle,circle;
private Button showProgressBar;
private final static int STOP= 0x10000 ;
private final static int NEXT= 0x10001 ;
private int count= 0 ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
rectangle=(ProgressBar)findViewById(R.id.rectangle);
circle=(ProgressBar)findViewById(R.id.circle);
showProgressBar=(Button)findViewById(R.id.showProgressBar);
rectangle.setIndeterminate( false );
circle.setIndeterminate( false );
showProgressBar.setOnClickListener( new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
rectangle.setVisibility(View.VISIBLE);
circle.setVisibility(View.VISIBLE);
rectangle.setMax( 100 );
rectangle.setProgress( 0 );
circle.setProgress( 0 );
Thread t= new Thread( new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
for ( int i= 0 ;i< 20 ;i++){
try {
count=(i+ 1 )* 5 ;
Thread.sleep( 1000 );
if (count== 19 ){
Message msg= new Message();
msg.what=STOP;
handler.sendMessage(msg);
break ;
}
else {
Message msg= new Message();
msg.what=NEXT;
handler.sendMessage(msg);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
t.start();
}
});
}
private Handler handler= new Handler(){
@SuppressWarnings ( "static-access" )
public void handleMessage(Message msg){
switch (msg.what){
case STOP:
rectangle.setVisibility(View.GONE);
circle.setVisibility(View.GONE);
Thread.currentThread().interrupt();
break ;
case NEXT:
if (!Thread.currentThread().interrupted()){
rectangle.setProgress(count);
circle.setProgress(count);
}
break ;
}
}
};
}
|
res/layout/main.xml如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
<? xml version = "1.0" encoding = "utf-8" ?>
< LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:orientation = "vertical" >
< TextView
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:text = "@string/hello" />
< ProgressBar
android:id = "@+id/rectangle"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
style = "?android:attr/progressBarStyleHorizontal"
mce_style = "?android:attr/progressBarStyleHorizontal"
android:visibility = "gone"
/>
< ProgressBar
android:id = "@+id/circle"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
style = "?android:attr/progressBarStyleLarge"
mce_style = "?android:attr/progressBarStyleLarge"
android:visibility = "gone" />
< Button
android:id = "@+id/showProgressBar"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "show ProgressBar"
/>
</ LinearLayout >
|
希望本文所述对大家Android程序设计有所帮助。