Progressbar例如发送短信,连接网络等等,表示一个过程正在执行中
进度条的种类 :对话框进度条,标题进度条和水平进度条
默认的style是一直旋转的圆形的进度条
步骤(ProgressBarDialog)
(1)覆盖activity的onCreateDialog()方法,并在其中创建对话框
即 protected Dialog onCreateDialog(int id)
(2)调用Activity的showDialog()方法,显示进度条对话框
解释:
使用对话框进度条的时候,xml文件中不必定义ProgressBar控件,只定义了button,点击button 方法体showDialog(显示对话框)
补充:对话框Dialog(http://blog.youkuaiyun.com/ameyume/article/details/6138488)
对话框一般用于提示信息和与当前应用程序直接相关的小功能.
Android API 支持下列类型的对话框对象:
AlertDialog(警告对话框):
ProgressDialog(进度对话框):
DatePickerDialog(日期选择对话框):
TimePickerDialog(时间选择对话框):
步骤
(1)调用Activity的requestWindowFeature(),获得进度条
(2)调用Activity的setProgressBarIndetermin
补充:requestWindowFeature()常用方法
DEFAULT_FEATURES:系统默认状态,一般不需要指定
FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定
FEATURE_CUSTOM_TITLE:自定义标题。当需要自定义标题时必须指定。如:标题是一个按钮时
FEATURE_INDETERMINATE_PROGRESS:不确定的进度
FEATURE_LEFT_ICON:标题栏左侧的图标
FEATURE_RIGHT_ICON:标题栏右侧的图标
FEATURE_NO_TITLE:无标题
FEATURE_OPTIONS_PANEL:启用“选项面板”功能,默认已启用。
FEATURE_PROGRESS:进度指示器功能
的步骤说明如下:(例子ProgressBarLevel)
(1)在布局文件中声明progressBar
(2)在activity中获得progressBar示例
(3)调用ProgressBar的incrementProgressBy()方法增加或减少进度
创建标题栏进度条的步骤如下;
(1)调用Activity的requestWindowFeature()方法,获得进度条
设置风格
style="?android:attr/progressBarStyleHorizont
style="?android:attr/progressBarStyleLarge" 表示超大号ProgressBar
style="?android:attr/progressBarStyleSmall" 表示小号ProgressBar
style="?android:attr/progressBarStyleSmallTit
android:max="100" 最大进度值为100
android:progress="50" 初始化的进度值
android:secondaryProgress="70" 初始化的底层第二个进度值 android:layout_gravity="center_vertical"垂直居中
代码中运用 private ProgressBar myProgressBar; //定义ProgressBar myProgressBar=(ProgressBar)findViewById(R.id.progressbar_updown);
//ProgressBar通过ID来从XML中获取
myProgressBar.incrementProgressBy(5); //ProgressBar进度值增加5 myProgressBar.incrementProgressBy(-5); //ProgressBar进度值减少5 myProgressBar.incrementSecondaryProgre
//ProgressBar背后的第二个进度条 进度值增加5
myProgressBar.incrementSecondaryProgre
页面标题中的长形进度条
代码实现:
①先设置一下窗口风格特性requestWindowFeature(Window.FEATURE_PROGRESS); //请求一个窗口进度条特性风格
setContentView(R.layout.main);
setProgressBarVisibility
②然后设置进度值 setProgress(myProgressBar.getProgress() * 100);
//设置标题栏中前景的一个进度条进度值
setSecondaryProgress(myProgressBar.getSecondaryProgress() * 100);
//设置标题栏中后面的一个进度条进度值 //ProgressBar.getSecondaryProgress() 用来获取其他进度条的进度值
ProgressDialog
ProgressDialog中的圆形进度条
ProgressDialog一般用来表示一个系统任务或是开启任务时候的进度,有一种稍等的意思。
代码实现:
ProgressDialog mypDialog=new ProgressDialog(this);
//实例化
mypDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
//设置进度条风格,风格为圆形,旋转的
mypDialog.setTitle("Google");
//设置ProgressDialog 标题
mypDialog.setMessage(getResources().getString(R.string.second));
//设置ProgressDialog 提示信息
mypDialog.setIcon(R.drawable.android);
//设置ProgressDialog 标题图标
mypDialog.setButton("Google",this);
//设置ProgressDialog 的一个Button
mypDialog.setIndeterminate(false);
//设置ProgressDialog 的进度条是否不明确
mypDialog.setCancelable(true);
//设置ProgressDialog 是否可以按退回按键取消
mypDialog.show();
//让ProgressDialog显示
ProgressDialog中的长形进度条
代码实现:
ProgressDialog mypDialog=new ProgressDialog(this);
//实例化
mypDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//设置进度条风格,风格为长形,有刻度的
mypDialog.setTitle("地狱怒兽");
//设置ProgressDialog 标题
mypDialog.setMessage(getResources().getString(R.string.second));
//设置ProgressDialog 提示信息
mypDialog.setIcon(R.drawable.android);
//设置ProgressDialog 标题图标
mypDialog.setProgress(59);
//设置ProgressDialog 进度条进度
mypDialog.setButton("地狱曙光",this);
//设置ProgressDialog 的一个Button
mypDialog.setIndeterminate(false);
//设置ProgressDialog 的进度条是否不明确
mypDialog.setCancelable(true);
//设置ProgressDialog 是否可以按退回按键取消
mypDialog.show();
//让ProgressDialog显示