首页 > 系统 > Android > 正文

android 进度条组件ProgressBar

2019-12-12 05:24:44
字体:
来源:转载
供稿:网友

首先是main.xml文件

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:orientation="vertical"  android:layout_width="fill_parent"  android:layout_height="fill_parent" >  <ProgressBar    android:id="@+id/myprobarA"    style="?android:attr/progressBarStyle"    android:visibility="gone"    android:layout_width="fill_parent"    android:layout_height="wrap_content"/>  <ProgressBar    android:id="@+id/myprobarB"    style="?android:attr/progressBarStyleHorizontal"    android:visibility="gone"    android:layout_width="fill_parent"    android:layout_height="wrap_content"/>  <ProgressBar    android:id="@+id/myprobarC"    style="?android:attr/progressBarStyleHorizontal"    android:visibility="gone"    android:max="120"    android:progress="0"    android:layout_width="fill_parent"    android:layout_height="wrap_content"/>  <ProgressBar    android:id="@+id/myprobarD"    android:visibility="gone"    android:max="120"    android:progress="50"    android:secondaryProgress="70"    style="?android:attr/progressBarStyleLarge"    android:layout_width="fill_parent"    android:layout_height="wrap_content"/>  <ProgressBar    android:id="@+id/myprobarE"    android:visibility="gone"    android:max="120"    android:progress="50"    android:secondaryProgress="70"    style="?android:attr/progressBarStyleSmall"    android:layout_width="fill_parent"    android:layout_height="wrap_content"/>  <Button    android:id="@+id/mybut"    android:text="显示进度条"    android:layout_width="wrap_content"    android:layout_height="wrap_content"/></LinearLayout>

 然后编写Activity.java类

代码如下:

package com.example.myfirstproject; import java.sql.Date;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.List;import java.util.Timer;import java.util.TimerTask;import android.os.Bundle;import android.os.Handler;import android.os.Looper;import android.os.Message;import android.app.Activity;import android.content.pm.ActivityInfo;import android.content.res.Configuration;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.*; public class MainActivity extends Activity {  private ProgressBar myprobarA,myprobarB,myprobarC,myprobarD,myprobarE;  private Button mybut;  protected static final int STOP = 1;  protected static final int CONTINUE = 2;  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    this.myprobarA = (ProgressBar)this.findViewById(R.id.myprobarA);    this.myprobarB = (ProgressBar)this.findViewById(R.id.myprobarB);    this.myprobarC = (ProgressBar)this.findViewById(R.id.myprobarC);    this.myprobarD = (ProgressBar)this.findViewById(R.id.myprobarD);    this.myprobarE = (ProgressBar)this.findViewById(R.id.myprobarE);    this.mybut = (Button)this.findViewById(R.id.mybut);    this.myprobarA.setIndeterminate(false);    this.myprobarB.setIndeterminate(false);    this.myprobarC.setIndeterminate(true);    this.myprobarD.setIndeterminate(false);    this.myprobarE.setIndeterminate(false);    this.mybut.setOnClickListener(new OnClickListenerlmpl());  }    private class OnClickListenerlmpl implements OnClickListener{    public void onClick(View view){      MainActivity.this.myprobarB.setSecondaryProgress(0);      MainActivity.this.myprobarA.setVisibility(View.VISIBLE);      MainActivity.this.myprobarB.setVisibility(View.VISIBLE);      MainActivity.this.myprobarC.setVisibility(View.VISIBLE);      MainActivity.this.myprobarD.setVisibility(View.VISIBLE);      MainActivity.this.myprobarE.setVisibility(View.VISIBLE);      MainActivity.this.myprobarA.setMax(120);      MainActivity.this.myprobarB.setMax(120);      MainActivity.this.myprobarA.setProgress(0);      MainActivity.this.myprobarB.setProgress(0);      new Thread(new Runnable(){        public void run(){          int count = 0;          for(int i = 0;i < 10;i++){            try{              count = (i+1)*20;              Thread.sleep(500);              if(i==6){                Message m = new Message();                m.what = MainActivity.STOP;                MainActivity.this.myMessageHandler.sendMessage(m);                break;              }else{                Message m = new Message();                m.arg1 = count;                m.what = MainActivity.CONTINUE;                MainActivity.this.myMessageHandler.sendMessage(m);              }            }catch(Exception ex){              ex.printStackTrace();            }          }        }      }).start();    }  }  private Handler myMessageHandler = new Handler(){    public void handleMessage(Message msg){      switch(msg.what){      case MainActivity.STOP:        myprobarA.setVisibility(View.GONE);        myprobarB.setVisibility(View.GONE);        myprobarC.setVisibility(View.GONE);        myprobarD.setVisibility(View.GONE);        myprobarE.setVisibility(View.GONE);        Thread.currentThread().interrupt();        break;      case MainActivity.CONTINUE:        if(!Thread.currentThread().isInterrupted()){          myprobarA.setProgress(msg.arg1);          myprobarB.setProgress(msg.arg1);          myprobarC.setProgress(msg.arg1);          myprobarD.setProgress(msg.arg1);          myprobarE.setProgress(msg.arg1);        }        break;      }    }  };}

运行效果:

以上就是对 Android 进度条的知识整理,后续继续补充相关知识,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表