1,ProgressBar
a,在布局文件里添加ProgressBar
<ProgressBar android:max="100" //进度条的最大刻度 android:progress="50" //进度条的第一刻度的初值 android:secondaryProgress="80" //进度条的第二刻度的初值 android:id="@+id/pb1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" />
b,在Activity文件中实例化一个ProgressBar对象
ProgressBar pb1= (ProgressBar)findViewById(R.id.pb1);
pb1.setProgress(50); //设置第一刻度的值
pb1.setSecondaryProgress(80); //设置第二刻度的值
2,ProgressDialog 这是一个类似提示框的进度条显示
a,实例化一个ProgressDialog对象
ProgressDialog proDia=new ProgressDialog(MainActivity.this);
b,将这个对象的进行初始化
proDia.setTitle("显示进度...");//设置标题
proDia.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置样式(水平样式)
proDia.setMessage("某某文件的下载进度");//设置提示框里的内容
proDia.setIcon(R.mipmap.ic_launcher);//设置提示框的头像
proDia.setMax(100);//设置刻度最大值
proDia.incrementProgressBy(50);//设置刻度的初始值
proDia.setIndeterminate(false);//设置刻度变化时是否精确显示,false表示精确显示
proDia.setCancelable(true);//设置返回键是否可以取消这个进度条
proDia.show();//显示进度条
C,为ProgressDialog进度条里的按钮设置功能
proDia.setButton(DialogInterface.BUTTON1,"确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Toast.makeText(MainActivity.this,"欢迎使用",Toast.LENGTH_SHORT).show(); } });
3,SeekBar 这是一个可编辑的进度条
a,在布局文件里添加一个SeekBar
<SeekBar android:id="@+id/seek" android:thumb="@drawable/mythum" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:progress="50" />
这里的mythum.xml文件是自己写的一个布局文件,用来设置进度条的滑块图案,也可用系统自带的文件
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/a" android:state_pressed="true" android:state_window_focused="true"/> <item android:drawable="@drawable/a" android:state_focused="true" android:state_window_focused="true"/> <item android:drawable="@drawable/a" android:state_selected="true" android:state_window_focused="true"/> <item android:drawable="@drawable/b"/> </selector>
@drawable/a b 是图片
b,在Activity文件里实例化一个SeekBar对象
SeekBar seekBar = (SeekBar) findViewById(R.id.seek);
c,为SeekBar增加一个监听器
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {//三个方法的功能可通过Toast的提示内容得知 @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
Toast.makeText(MainActivity.this, "正在拖动: "+"进度:"+seekBar.getProgress(), Toast.LENGTH_SHORT).show();
}@Override public void onStartTrackingTouch(SeekBar seekBar) {
Toast.makeText(MainActivity.this, "开始拖动", Toast.LENGTH_SHORT).show();} @Override public void onStopTrackingTouch(SeekBar seekBar) {
Toast.makeText(MainActivity.this, "停止拖动", Toast.LENGTH_SHORT).show();}});