下面详细介绍ProgressBar

一、说明

  在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式下,进度条显示循环动画。这种模式常用于应用程序使用任务的长度是未知的。

二、XML重要属性

    android:progressBarStyle:默认进度条样式

    android:progressBarStyleHorizontal:水平样式

三、重要方法

    getMax():返回这个进度条的范围的上限

    getProgress():返回进度

    getSecondaryProgress():返回次要进度

    incrementProgressBy(int diff):指定增加的进度

    isIndeterminate():指示进度条是否在不确定模式下

    setIndeterminate(boolean indeterminate):设置不确定模式下

    setVisibility(int v):设置该进度条是否可视

四、重要事件

    onSizeChanged(int w, int h, int oldw, int oldh):当进度值改变时引发此事件


package com.zyq.main; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.Window; import android.widget.Button; import android.widget.ProgressBar; public class MainActivity extends Activity { //声明ProgressBar对象 private ProgressBar ProgressBar01; private ProgressBar ProgressBar02; private Button Button01; protected static final int GUI_STOP_NOTIFIER=0x108; protected static final int GUI_THREADING_NOTIFIER=0x109; public int intCounter=0; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_PROGRESS); setProgressBarVisibility(true); setContentView(R.layout.main); //取得ProgressBar ProgressBar01=(ProgressBar)findViewById(R.id.ProgressBar01); ProgressBar02=(ProgressBar)findViewById(R.id.ProgressBar02); Button01=(Button)findViewById(R.id.Button01); ProgressBar01.setIndeterminate(false); ProgressBar02.setIndeterminate(false); Button01.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //设置ProgressBar为可见状态 ProgressBar01.setVisibility(View.VISIBLE); ProgressBar02.setVisibility(View.VISIBLE); //设置ProgressBar的最大值 ProgressBar01.setMax(100); //设置ProgressBar的当前值 ProgressBar01.setProgress(0); ProgressBar02.setProgress(0); //通过线程来改变ProgressBar的值 new Thread(new Runnable() { public void run() { try { for(int i=0;i<10;i++) { intCounter=(i+1)*20; Thread.sleep(1000); if(i==4) { Message message=new Message(); message.what=MainActivity.GUI_STOP_NOTIFIER; break; } else { Message message=new Message(); message.what=MainActivity.GUI_THREADING_NOTIFIER; MainActivity.this.myMessagehandel.sendMessage(message); } } } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); } }); } Handler myMessagehandel=new Handler() { public void handleMessage(Message msg) { switch (msg.what) { //ProgressBar已经是最大值 case MainActivity.GUI_STOP_NOTIFIER: ProgressBar01.setVisibility(View.GONE); ProgressBar02.setVisibility(View.GONE); Thread.currentThread().interrupt(); break; case MainActivity.GUI_THREADING_NOTIFIER: if(!Thread.currentThread().isInterrupted()) { //改变ProgressBar的当前值 ProgressBar01.setProgress(intCounter); ProgressBar01.setProgress(intCounter); //设置标题栏中前景的一个进度条进度值 setProgress(intCounter*100); //设置标题栏中后面的一个进度条值 setSecondaryProgress(intCounter*100); } break; default: break; } super.handleMessage(msg); } }; }

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <ProgressBar android:id="@+id/ProgressBar01" style="?android:attr/progressBarStyleHorizontal" android:layout_width="300dip" android:layout_height="wrap_content" android:visibility="gone" /> <ProgressBar android:id="@+id/ProgressBar02" android:layout_width="wrap_content" android:layout_height="wrap_content" style="?android:attr/progressBarStyleLarge" android:max="100" android:progress="50" android:secondaryProgress="70" android:visibility="gone" /> <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始" /> </LinearLayout>

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. android 进度条ProgressBar样式设置
  3. Android(安卓)实现本地更新并在更新完成后打开
  4. Android(安卓)解决hellocharts与ViewPager滑动冲突以及有且仅有
  5. android progressBar 自定义 进度颜色
  6. [置顶] AndroidUI组件4- ProgressBar、SeekBar、ImageView、TabH
  7. Android进度条的使用,多线程登录或下载
  8. Android中用seekbar控件控制歌曲的进度
  9. android进度条修改教程(颜色,高度)

随机推荐

  1. Android中的android:layout_weight讲解
  2. Android(安卓)ScrollView 去掉 scrollbar
  3. Android(安卓)API等级、Android版本、发
  4. PULL解析XML
  5. Android(安卓)应用Crash 后自动重启
  6. Android文件列表RecyclerView中点击视频
  7. Android禁止下拉状态栏
  8. Android(安卓)之应用程序重启
  9. Android(安卓)9.0 P 状态栏下移的实现
  10. Android(安卓)复习笔记之图解Intent和Int