Android ProgressDialog 转圈圈

转圏圏型的等待

ProgressBarDemo.java:


package com.lveyo.android.demo.progressbar;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class ProgressBarDemo extends Activity {
   
    privateTextView statusTextView;
    privateButton beginBtn;
    privateProgressDialog progressDialog;
   
   @Override
    public voidonCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       statusTextView = (TextView)findViewById(R.id.status);
       beginBtn = (Button)findViewById(R.id.beginBtn);
       setListener();
    }
   
   
    privateHandler handler = new Handler(){

      @Override
       public voidhandleMessage(Message msg) {
         
         //关闭ProgressDialog
         progressDialog.dismiss();
         
          //更新UI
         statusTextView.setText("Completed!");
       }};
   
      
   
    private voidsetListener(){
      beginBtn.setOnClickListener(new View.OnClickListener() {
         
         @Override
          public voidonClick(View v) {
            
            //显示ProgressDialog
            progressDialog = ProgressDialog.show(ProgressBarDemo.this,"Loading...", "Please wait...", true, false);
            
             //新建线程
             newThread(){

               @Override
                public voidrun() {
                  //需要花时间计算的方法
                  Calculation.calculate(4);
                  
                  //向handler发消息
                  handler.sendEmptyMessage(0);
               }}.start();
          }
       });
    }
   
}




Calculation.java
package com.lveyo.android.demo.progressbar;


public class Calculation {
   
    publicstatic void calculate(int sleepSeconds){
       try {
         Thread.sleep(sleepSeconds * 1000);
       } catch(Exception e) {
          // TODO:handle exception
       }
    }

}



main.xml文件

<?xml version="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
<TextView android:id="@+id/status"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/hello"
   />
<Button android:id="@+id/beginBtn"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="begin"
   />
</LinearLayout>






posted on 2012-12-11 16:23  王大王  阅读(1402)  评论(0编辑  收藏  举报

导航