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.
5 回答
我已经知道这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 线程中的进度条。
使用 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
也许有点晚了,但你可以这样做:
<ProgressBar
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="10dp"
android:indeterminate="true"
style="?android:attr/progressBarStyleHorizontal" />
希望它可以帮助某人!
要扩展 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"/>
在定义进度条的 xml 中,您可以添加
style="@android:style/Widget.ProgressBar.Horizontal"