main.xml

<?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="Welcome to Mr Wei's blog" />       <ProgressBar          android:id="@+id/rectangleProgressBar"           style="?android:attr/progressBarStyleHorizontal" mce_style="?android:attr/progressBarStyleHorizontal"            android:layout_width="fill_parent"          android:layout_height="wrap_content"         android:visibility="gone"         />     <ProgressBar          android:id="@+id/circleProgressBar"           style="?android:attr/progressBarStyleLarge" mce_style="?android:attr/progressBarStyleLarge"         android:layout_width="wrap_content"          android:layout_height="wrap_content"         android:visibility="gone"          />           <Button android:id="@+id/button"              android:text="Show ProgressBar"               android:layout_width="wrap_content"              android:layout_height="wrap_content"             /> </LinearLayout> 



public class ProgressBarDemo extends Activity {private ProgressBar rectangleProgressBar, circleProgressBar;private Button mButton;protected static final int STOP = 0x10000;protected static final int NEXT = 0x10001;private int iCount = 0;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.progress_bar_demo);// findView By idrectangleProgressBar = (ProgressBar) findViewById(R.id.rectangleProgressBar);circleProgressBar = (ProgressBar) findViewById(R.id.circleProgressBar);mButton = (Button) findViewById(R.id.button);rectangleProgressBar.setIndeterminate(false);circleProgressBar.setIndeterminate(true);mButton.setOnClickListener(new Button.OnClickListener() {public void onClick(View v) {rectangleProgressBar.setVisibility(View.VISIBLE);circleProgressBar.setVisibility(View.VISIBLE);rectangleProgressBar.setMax(100);rectangleProgressBar.setProgress(0);circleProgressBar.setProgress(0);new IncreaseThread().start();}});}// 定义一个Handlerprivate Handler mHandler = new Handler() {public void handleMessage(Message msg) {switch (msg.what) {case STOP:rectangleProgressBar.setVisibility(View.GONE);circleProgressBar.setVisibility(View.GONE);Thread.currentThread().interrupt();break;case NEXT:if (!Thread.currentThread().isInterrupted()) {rectangleProgressBar.setProgress(iCount);circleProgressBar.setProgress(iCount);}break;}}};// 每秒步长为5增加,到100%时停止class IncreaseThread extends Thread {@Overridepublic void run() {for (int i = 0; i < 20; i++) {try {iCount = (i + 1) * 5;Thread.sleep(1000);if (i == 19) {Message msg = new Message();msg.what = STOP;mHandler.sendMessage(msg);break;} else {Message msg = new Message();msg.what = NEXT;mHandler.sendMessage(msg);}} catch (Exception e) {e.printStackTrace();}}}}}

更多相关文章

  1. ProgressBar属性小结
  2. Android应用程序启动过程源代码分析(4)
  3. Android(安卓)各种自定义进度条Progressbar
  4. Android应用程序启动过程源代码分析(3)
  5. Momo自定义DialogFragment
  6. Android(安卓)2D绘图总结
  7. 自定义Android(安卓)editText
  8. android中设置TextView/Button 走马灯效果
  9. Android(安卓)Interface Definition Language (AIDL) android接

随机推荐

  1. Android(安卓)WIFI 学习整理+搜索到资料
  2. Android(安卓)ADB的使用
  3. 浅谈android的selector,背景选择器
  4. android selector 背景选择器的使用, butt
  5. Android(安卓)屏幕适配:最全面的解决方案
  6. Android中显示网页的多种方式
  7. 关于android中使用new Message的内存泄露
  8. 如何发布你的Android应用程序
  9. android 中文乱码问题
  10. Android之布局