当一个应用在后台执行时,前台界面就不会有什么信息,这时用户根本不知道程序是否在执行、执行进度如何、应用程序是否遇到错误终止等,这时需要使用进度条来提示用户后台程序执行的进度。android系统提供了两大类进度条样式,长形进度条(progress-barstylehorizontal)
和圆形进度条(progressbarstylelarge)。进度条用处很多,比如,应用程序装载资源和网络连接时,可以提示用户稍等,这一类进度条只是代表应用程序中某一部分的执行情况,而整个应用程序执行情况呢,则可以通过应用程序标题栏来显示一个进度条,这就需要先对窗口的显示风格进行设置"requestwindowfeature(window.feature_progress)"。
先看下面效果图:
例1:(默认样式(中等圆形))
xml代码
1
2
3
4
5
|
<progressbar android:id= "@+id/progressbar1" android:layout_width= "wrap_content" android:layout_height= "wrap_content" /> |
例2:(超大圆形)
例1:(默认样式(中等圆形))
xml代码
1
2
3
4
5
|
<progressbar android:id= "@+id/progressbar1" android:layout_width= "wrap_content" android:layout_height= "wrap_content" /> |
例2:(超大圆形)
xml代码
1
2
3
4
5
6
|
<progressbar android:id= "@+id/progressbar2" android:layout_width= "wrap_content" android:layout_height= "wrap_content" style= "?android:attr/progressbarstylelarge" /> |
例3:(小号圆形)
xml代码
1
2
3
4
5
6
|
<progressbar android:id= "@+id/progressbar3" android:layout_width= "wrap_content" android:layout_height= "wrap_content" style= "?android:attr/progressbarstylesmall" /> |
例4:(标题小号圆形)
xml代码
1
2
3
4
5
6
|
<progressbar android:id= "@+id/progressbar4" android:layout_width= "wrap_content" android:layout_height= "wrap_content" style= "?android:attr/progressbarstylesmalltitle" /> |
例4-在标题中使用小号圆形的使用代码:
java代码
1
2
3
4
5
6
7
8
9
10
11
12
|
@override public void oncreate(bundle savedinstancestate) { super .oncreate(savedinstancestate); //设置标题不确定性进度条风格 requestwindowfeature(window.feature_indeterminate_progress); setcontentview(r.layout.progress_bars); //显示标题不确定性进度条 setprogressbarindeterminatevisibility( true ); //关闭标题不确定性进度条 //setprogressbarindeterminatevisibility(false); } |
例5:(长方形进度条)
xml代码
1
2
3
4
5
6
7
8
9
10
11
12
|
<progressbar android:id= "@+id/progressbar5" android:layout_width= "200dp" android:layout_height= "wrap_content" style= "?android:attr/progressbarstylehorizontal" android:max= "100" android:progress= "50" android:secondaryprogress= "70" /> android:max= "100" 最大进度值 100 android:progress= "50" 当前初始化进度值 50 android:secondaryprogress= "70" 当前初始化第 2 进度值 70 |
例5-在标题中使用长方形进度条的代码:
java代码
1
2
3
4
5
6
7
8
9
10
11
12
13
|
@override public void oncreate(bundle savedinstancestate) { super .oncreate(savedinstancestate); //设置标题进度条风格 requestwindowfeature(window.feature_progress); setcontentview(r.layout.progress_bars); //显示标题进度 setprogressbarvisibility( true ); //设置标题当前进度值为5000(标题进度最大值默认为10000) setprogress( 5000 ); //关闭标题进度 //setprogressbarvisibility(false); } |
例6:(进度对话框-圆形进度条)
java代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
progressdialog dialog = new progressdialog( this ); //设置进度条风格,风格为圆形,旋转的 dialog.setprogressstyle(progressdialog.style_spinner); //设置progressdialog 标题 dialog.settitle( "进度对话框" ); //设置progressdialog 提示信息 dialog.setmessage( "圆形进度条" ); //设置progressdialog 标题图标 dialog.seticon(android.r.drawable.ic_dialog_map); //设置progressdialog 的一个button dialog.setbutton( "确定" , new progressdialog.onclicklistener(){ @override public void onclick(dialoginterface dialog, int which) { } }); //设置progressdialog 的进度条是否不明确 dialog.setindeterminate( false ); //设置progressdialog 是否可以按退回按键取消 dialog.setcancelable( true ); //显示 dialog.show(); |
例7:(进度对话框-长方形进度条)
java代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
progressdialog dialog = new progressdialog( this ); //设置进度条风格,风格为圆形,旋转的 dialog.setprogressstyle(progressdialog.style_horizontal); //设置progressdialog 标题 dialog.settitle( "进度对话框" ); //设置progressdialog 提示信息 dialog.setmessage( "长方形进度条" ); //设置progressdialog 标题图标 dialog.seticon(android.r.drawable.ic_dialog_alert); //设置progressdialog的最大进度 dialog.setmax( 100 ); //设置progressdialog 的一个button dialog.setbutton( "确定" , new progressdialog.onclicklistener(){ @override public void onclick(dialoginterface dialog, int which) { } }); //设置progressdialog 是否可以按退回按键取消 dialog.setcancelable( true ); //显示 dialog.show(); //设置progressdialog的当前进度 dialog.setprogress( 50 ); |
通过本篇文章介绍了android 七种进度条的样式,希望大家喜欢。