当一个应用在后台执行时,前台界面就不会有什么信息,这时用户根本不知道程序是否在执行、执行进度如何、应用程序是否遇到错误终止等,这时需要使用进度条来提示用户后台程序执行的进度。Android系统提供了两大类进度条样式,长形进度条(progress-BarStyleHorizontal)
和圆形进度条(progressBarStyleLarge)。进度条用处很多,比如,应用程序装载资源和网络连接时,可以提示用户稍等,这一类进度条只是代表应用程序中某一部分的执行情况,而整个应用程序执行情况呢,则可以通过应用程序标题栏来显示一个进度条,这就需要先对窗口的显示风格进行设置"requestWindowFeature(Window.FEATURE_PROGRESS)"。
先看下面效果图:
例1:(默认样式(中等圆形))
Xml代码
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
例2:(超大圆形)
例1:(默认样式(中等圆形))
Xml代码
<ProgressBar android:id="@+id/progressBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" />
例2:(超大圆形)
Xml代码
<ProgressBar android:id="@+id/progressBar2" android:layout_width="wrap_content" android:layout_height="wrap_content" />
例3:(小号圆形)
Xml代码
<ProgressBar android:id="@+id/progressBar3" android:layout_width="wrap_content" android:layout_height="wrap_content" />
例4:(标题小号圆形)
Xml代码
<ProgressBar android:id="@+id/progressBar4" android:layout_width="wrap_content" android:layout_height="wrap_content" />
例4-在标题中使用小号圆形的使用代码:
Java代码
@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代码
<ProgressBar android:id="@+id/progressBar5" android:layout_width="200dp" android:layout_height="wrap_content" android:max="100" android:progress="50" android:secondaryProgress="70" /> android:max="100" 最大进度值100 android:progress="50" 当前初始化进度值50 android:secondaryProgress="70" 当前初始化第2进度值70
例5-在标题中使用长方形进度条的代码:
Java代码
@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代码
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代码
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 七种进度条的样式,希望大家喜欢。