天天看點

Android 倒計時+自定義幀動畫(加載)

Android 倒計時+自定義幀動畫(加載)



findViewById(R.id.animq).setOnClickListener(this);
 彈出dialog設定
 private void progressbar(Context context,int layout) {
   mDialog = new AlertDialog.Builder(progressbar.this).create();
          //mDialog.setOnKeyListener(keyListener);
          mDialog.show();
          // 注意此處要放在show之後 否則會報異常
          mDialog.setContentView(layout);
        
  }執行動作--聯網操作
 @Override
  public void onClick(View arg0) {
    progressbar(this,R.layout.loading_process_dialog_anim);
       new Thread(new Runnable() {
    
    @Override
    public void run() {
           
     SystemClock.sleep(2000);    mDialog.dismiss();
                            跳轉動作------------------------>
    }
   }).start();
    
  } <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="​​​http://schemas.android.com/apk/res/android​​​"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:gravity="center"
     android:orientation="horizontal" >    <ProgressBar
         android:id="@+id/loading_process_dialog_progressBar"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:indeterminate="false"
         android:indeterminateDrawable="@anim/loading" />
     <!--
   <TextView android:layout_width="fill_parent"
   android:layout_height="wrap_content" android:text="@string/loading" />
     --></LinearLayout>
 幀動畫資源
 <?xml version="1.0" encoding="UTF-8"?>
 <animation-list android:oneshot="false"
  xmlns:android="​​​http://schemas.android.com/apk/res/android​​​">
  <item android:duration="150" android:drawable="@drawable/loading_01" />
  <item android:duration="150" android:drawable="@drawable/loading_02" />
  <item android:duration="150" android:drawable="@drawable/loading_03" />
  <item android:duration="150" android:drawable="@drawable/loading_04" />
  <item android:duration="150" android:drawable="@drawable/loading_05" />
  <item android:duration="150" android:drawable="@drawable/loading_06" />
  <item android:duration="150" android:drawable="@drawable/loading_07" />
 </animation-list> 
 注冊登入 60秒倒計時
    private TextView textView;    new Thread(new MyThread()).start(); //oncreat( ) 開啟倒計時 
     
     final Handler handler = new Handler(){          // handle  
              public void handleMessage(Message msg){  
                 switch (msg.what) {  
                  case 1:  
                      recLen--;  
                     textView.setText("" + recLen);  
                 }  
                 super.handleMessage(msg);  
             }  
          };    public class MyThread implements Runnable{      // thread  
             @Override  
             public void run(){  
                 while(isprogress()){  
                    try{  
                        Thread.sleep(1000);     // sleep 1000ms  
                         Message message = new Message();  
                          message.what = 1;  
                          handler.sendMessage(message);  
                     }catch (Exception e) {  
                     }  
                 }  
              } 
          } 
 /* 倒計時結束*/ 
     private boolean isprogress() {
   if(recLen<=0){
    return false;
   }
   return true;
  }