2011-06-23 50 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"/>