android 进度条组件ProgressBar
程序员文章站
2024-03-07 11:47:27
首先是main.xml文件
代码如下:
首先是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 进度条的知识整理,后续继续补充相关知识,谢谢大家对本站的支持!