1.回顾

   之前学习了 SimapleAdapter, BaseAdapter和 ArrayAdapter 三种适配器和 Listview ,GridView ,Spanner 控件的使用;

2.重点

  (1)ProgressBar

  (2)重要属性

  (3)ProgressBarDialog

  (4)实现了标题栏上的进度条

  (5)基本的ProgressBar的实现

  (6)实现了ProgressBarDialog 弹窗式进度条;

3.风格和分类

  风格:
                        默认为中型进度条:

style="?android:attr/progressBarStyleLarge"
style="?android:attr/progressBarStyleSmall"
style="?android:attr/progressBarStyleHorizontal"



  分类:         


       精确显示进度:显示刻度和百分比


       不精确进度:不确定加载时间


4. 标题栏上的进度条

   在 onCreate 方法中使用:


在OnCreate
//启用窗口特征 ,启用带进度条和不带进度的进度条
requestWindowFeature(Window.FEATURE_PROGRESS);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setProgressBarVisibility(true);
setProgressBarIndeterminateVisibility(true);
//进度最大值 10000
setProgress(6000);


5.基本布局和重要属性

        最大刻度:
        android:max="100"
        第一刻度:
        android:progress="40"
        第二刻度:
        android:secondaryProgress="80"


<ProgressBar
android:max="100"
android:progress="40"
android:secondaryProgress="80"
android:id="@+id/progressBar4"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="50dp" />


6.关键方法


//获取第一进度条的进度
int pro=progressBar4.getProgress();
//获取第二进度的进度
int secPro=progressBar4.getSecondaryProgress();
//获取进度条的最大进度
int maxPro=progressBar4.getMax();

//设置第一进度的进度
progressBar4.setProgress(pro+5);
progressBar4.setSecondaryProgress(secPro+5);
//设置百分比
textview1.setText((int)((pro/(float)maxPro)*100)+"%");


7.使用ProgressBarDialog 实现一个例子

                                              

Android-基本控件(ProgressBar 和 ProgressDialog)_android


如图所示的样式实现:

    7.1 声明dialog对象和上下文对象


private ProgressDialog proDia;
private Context mcontext;


   7.2 在 OnCreate 里给 上下文对象赋值


mcontext=this;


   7.3 样式实现


//新建对象
proDia=new ProgressDialog(mcontext);
//设置风格
proDia.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//设置标题
proDia.setTitle("原明卓");
//设置信息
proDia.setMessage("正在加载。。");
//设置图标
proDia.setIcon(R.drawable.ic_launcher);


    7.4 进度实现


//设定最大进度
proDia.setMax(100);
//设定当前进度
proDia.incrementProgressBy(50);
//设定是明确显示进度
proDia.setIndeterminate(false);


   7.5 交互实现


//设定一个确定按钮
proDia.setButton(DialogInterface.BUTTON_POSITIVE,"确定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// dialog 里的 点击事件
Toast.makeText(getApplicationContext(),"ProgressBarDialog执行了",Toast.LENGTH_SHORT).show();


}
});

//设定可以退出
proDia.setCancelable(true);
//显示
proDia.show();