android圈进度条

时间:2012-08-14 09:31:31

标签: android progress-bar

我需要创建一个圆形进度条,仅在数据接收时旋转。我在布局中写道:

        <ProgressBar
            android:id="@+id/progress_bar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:indeterminateOnly="true"
            style="?android:attr/progressBarStyleSmall"
            />

然后收到了部分数据,我做了

mProgressBar.incrementProgressBy(10);

我认为最初mProgressBar应该停止,但是它会永久旋转,甚至连接都没有建立!

我应该怎样做才能使ProgressBar最初停止&amp;并在收到另一部分数据的同时轮换?

4 个答案:

答案 0 :(得分:5)

没有办法阻止不确定的进度条。要么您必须创建自己的自定义进度条,要么可以使用不确定的可绘制的小技巧。

您可以在进度条上设置imageview并在其中设置相同的drawable。

如果要停止动画,请隐藏进度条并显示图像视图。

如果要开始动画,请隐藏图像视图并显示进度条。

它应该给你同样的效果。

答案 1 :(得分:1)

使用visiblegone获取布局的可见性。

答案 2 :(得分:0)

完成工作后调用此行。

 mProgressBar.dismiss();

答案 3 :(得分:0)

很抱歉,但是你无法通过不确定的进度条实现这一目标。控件用于显示正在后台执行的操作。没有迹象表明此操作何时开始或何时完成。

因此您要么必须使用确定的进度条,要么创建自己的自定义组件