2011-06-23 45 views
34

如何在android中顯示不確定的水平進度條?進度條的動畫應該從0開始到100,然後從100繼續回到0。我不是在尋找輪子進度條。如何顯示水平的Android不確定進度條

+0

我會不同意:問題是關於編程,所以有什麼問題?無法真正理解降級原因 – barmaley

+0

我已經發布了此處的示例實現:http://stackoverflow.com/questions/6097795/android-make-a-progress-bar-update-smoothly –

回答

37

我已經知道setIndeterminate會給無限的水平進度條。但它將類似於裝載輪,除了它將是水平的。如果你看到我的問題,我正在尋找從0開始的橫條,並一路走到100(逐漸增加)。如果你想在Android中實現這一目標,你必須使用你的進度條如下:

<ProgressBar 
    android:id="@+id/progress_horizontal" 
    android:indeterminateOnly="false" 
    android:indeterminateDrawable="@drawable/progress_indeterminate_horizontal" 
    android:progressDrawable="@drawable/progress_horizontal" 
    android:minHeight="24dip" 
    android:maxHeight="24dip" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/> 

因爲我想改變我的進度條的背景下,我改變了ProgressDrawable和IndeterminateDrawable。原始繪圖位於frameworks/base/core/res/res/drawable之下。將它們複製到您的項目並根據您的需要更改顏色。

創建一個線程,更新進度計數並執行Thread.Sleep。然後它將消息發送給處理程序,它將更新UI線程中的進度條。

1

在XML定義你的進度條,您可以添加

style="@android:style/Widget.ProgressBar.Horizontal" 
4

要在Vinoth答擴大,這裏是一個現成的代碼:

<ProgressBar 
     android:id="@+id/progressBarLoadingRecite" 
     android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal" 
     android:minHeight="24dip" 
     android:layout_marginTop="20dip" 
     android:indeterminate="true" 
     android:maxHeight="24dip" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"/>