Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android程序載入界面的開發實例

Android程序載入界面的開發實例

編輯:Android開發實例

       很多程序在完全載入之前往往會先顯示一個載入界面,提示用戶等待,這樣對提高用戶體驗有很大作用。本文就為大家提供一個Android程序載入界面的開發實例。

       此實例中程序載入界面的顯示過程是,打開程序,出現載入界面,顯示進度條並在後台進行初始化工作,效果如下圖(5個小圓點會循環變色):

Android程序載入界面

        下面介紹該實例主要代碼的編寫過程。

        一、創建進行初始化工作的線程:

Java代碼
  1. class InitialThread extends Thread{   
  2.        
  3. @Override  
  4.   
  5.      public void run()   
  6.   
  7.      {   
  8.        
  9.          try {   
  10.          Thread.sleep(time);//替換為初始化代碼....   
  11.   
  12.          Message msg;   
  13.          msg = new Message();   
  14.          msg.what = TYPE_STOP;   
  15.   
  16.          myHandler.sendMessage(msg);   
  17.          } catch (InterruptedException e) {   
  18.          // TODO Auto-generated catch block   
  19.   
  20.          e.printStackTrace();   
  21.   
  22.          Message msg;      
  23.          msg = new Message();   
  24.          msg.what = TYPE_STOP;   
  25.   
  26.          myHandler.sendMessage(msg);   
  27.   
  28.          }   
  29.        
  30.      }   
  31. }  

        二、創建界面更新線程,用來控制小圓點的變色:

Java代碼
  1. class IndexThread extends Thread   
  2. {   
  3.        
  4.    @Override  
  5.   
  6.    public void run() {   
  7.        
  8.        Message msg;   
  9.        
  10.        while(!isStop) {       
  11.   
  12.             for(int i= 0 ; i < count ; i++) {       
  13.                  msg = new Message();   
  14.                  msg.what = TYPE_SELECTED;   
  15.                  msg.arg1 = imgIDs;   
  16.   
  17.                  myHandler.sendMessage(msg);       
  18.                  msg = new Message();   
  19.        
  20.                  if(i==0) {   
  21.        
  22.                       msg.what = TYPE_NO_SELECTED;   
  23.                       msg.arg1 = imgIDs[count-1];   
  24.        
  25.                       myHandler.sendMessage(msg);   
  26.        
  27.                  } else {   
  28.        
  29.                       msg.what = TYPE_NO_SELECTED;   
  30.                       msg.arg1 = imgIDs[i-1];       
  31.                       myHandler.sendMessage(msg);   
  32.                  }   
  33.        
  34.                  SystemClock.sleep(500);   
  35.        
  36.              }       
  37.   
  38.        }       
  39.    }   
  40. }  

       可以看到,IndexThread每隔500ms執行一次for循環,每次循環累計發送5個message到Handler,每個message包含該ImageView的Resource Id和當前狀態(是否被選擇,也就是白色還是綠色),下面一起看看Handler:

Java代碼
  1. public Handler myHandler = new Handler() {   
  2.   
  3. @Override  
  4.   
  5. public void handleMessage(Message msg) {   
  6.   
  7. switch(msg.what)   
  8.   
  9. {   
  10.   
  11. case TYPE_STOP:   
  12.   
  13. Intent intent = new Intent(LoadingScreen1Activity.this, MainActivity.class);   
  14.   
  15. startActivity(intent);   
  16.   
  17. isStop = true;   
  18.   
  19. finish();   
  20.   
  21. break;   
  22.   
  23. case TYPE_SELECTED:   
  24.   
  25. ((ImageView)findViewById(msg.arg1)).setBackgroundResource(R.drawable.progress_go_small);   
  26.   
  27. break;   
  28.   
  29. case TYPE_NO_SELECTED:   
  30.   
  31. ((ImageView)findViewById(msg.arg1)).setBackgroundResource(R.drawable.progress_bg_small);   
  32.   
  33. break;   
  34.   
  35. }   
  36. }   
  37. };  

        case TYPE_SELECTED:將對應圓點置成綠色背景
        case TYPE_NO_SELECTED:將對應圓點置成白色背景
        case TYPE_STOP:表示初始化完成,程序跳轉到主界面

        到此,此程序載入界面的實例就基本完成了。大家可以根據自己的喜好修改下程序,實現想要的效果。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved