48

How to show an indeterminate horizontal progress bar in android? The animation of the progress bar should start from 0 to 100 and then go back from 100 to 0 continuously. I am not looking for the wheel progress bar.

4

5 回答 5

47

我已经知道这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 线程中的进度条。

于 2011-06-23T06:59:32.097 回答
15

使用 ProgressBar 的 setIndeterminate 方法:

android.widget.ProgressBar bar = new android.widget.ProgressBar(context);
bar.setIndeterminate(true);

但是,是的,您可以在开发人员文档中很快找到这一点。

http://developer.android.com/reference/android/widget/ProgressBar.html#setIndeterminate%28boolean%29

于 2011-06-23T05:15:43.933 回答
11

也许有点晚了,但你可以这样做:

<ProgressBar
    android:id="@+id/progress"
    android:layout_width="match_parent"
    android:layout_height="10dp"
    android:indeterminate="true"
    style="?android:attr/progressBarStyleHorizontal" />

希望它可以帮助某人!

于 2018-10-03T13:09:46.040 回答
9

要扩展 Vinoth Answer,这里有一个现成的代码:

<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"/>
于 2016-01-05T08:39:13.307 回答
5

在定义进度条的 xml 中,您可以添加

style="@android:style/Widget.ProgressBar.Horizontal"
于 2015-06-09T15:38:39.493 回答