2012-06-14 34 views
3

我在啓動時有一個啓動畫面。用下面的編碼如何使用進度條實現啓動畫面? - android

public class Splash extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 
    Thread logoTimer = new Thread(){ 
     public void run(){ 
      try{ 
       int logoTimer = 0; 
       while (logoTimer<5000){ 
        sleep(100); 
        logoTimer=logoTimer+100; 
        } 
       startActivity(new Intent("com.package.MAIN")); 
     } catch (InterruptedException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
      finally{ 
       finish(); 
      } 
     } 
    }; 
    logoTimer.start(); 
}} 

現在我只想一個水平進度條添加到上面濺活動說在屏幕的底部.. 所以作爲閃屏同時顯示進度條應該載入當它結束時,下一個活動應該出現。

搜索進度條上的幾個例子,但無法做到我想要的。有一個帶有對話框的進度條的例子很多。但在這裏我不想要任何對話框。我只需要在我的啓動畫面上顯示一個簡單的水平進度條

那麼有人可以幫助我與所需的編碼和東西?請! :)

+3

不要爲了它而使用「閃屏」。至少在執行耗時的任務時可能會使用「啓動畫面」,但即使這樣,通常也是不必要的。據我所知,除了延遲用戶訪問您的應用程序5秒之外,您的服務目的不是其他目的。用戶體驗不佳。看到這個博客爲什麼... http://android.cyrilmottier.com/?p = 632 – Squonk

+0

你知道如何衡量加載進度?如果每10%左右無法更新,進度條毫無意義。 –

+0

我在下面的鏈接中回答了這個問題。 https://stackoverflow.com/a/45020909/4896539 –

回答

7

在這裏,你走了,寫了一個教程如何創建一個進度條閃屏:

http://blog.blundellapps.com/tut-splashscreen-with-progress-bar/

基本上代替你的線程啓動了一個ASyncTask,你將一個對progressSpinner的引用傳遞給ASyncTask,當線程正在下載資源(或者你想要做的任何事情)時,它會更新它。

+0

好教程.. :) – kumareloaded

+0

該鏈接提供了一個非常好的教程!感謝那。 – winklerrr

+0

您提供的鏈接不起作用。 – Jack

0

這個XML例子創建水平進度:

<ProgressBar 
    android:id="@+id/progress_bar" 
    style="@android:style/Widget.ProgressBar.Horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:progress="0" />