当前位置: 移动技术网 > 移动技术>移动开发>Android > android 进度条组件ProgressBar

android 进度条组件ProgressBar

2019年07月24日  | 移动技术网移动技术  | 我要评论

首先是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 进度条的知识整理,后续继续补充相关知识,谢谢大家对本站的支持!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网