当一个应用在后台执行时,前台界面就不会有什么信息,这时用户根本不知道程序是否在执行、执行进度如何、应用程序是否遇到错误终止等,这时需要使用进度条来提示用户后台程序执行的进度。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 七种进度条的样式,希望大家喜欢。