我需要创建一个圆形进度条,仅在数据接收时旋转。我在布局中写道:
<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;并在收到另一部分数据的同时轮换?
答案 0 :(得分:5)
没有办法阻止不确定的进度条。要么您必须创建自己的自定义进度条,要么可以使用不确定的可绘制的小技巧。
您可以在进度条上设置imageview并在其中设置相同的drawable。
如果要停止动画,请隐藏进度条并显示图像视图。
如果要开始动画,请隐藏图像视图并显示进度条。
它应该给你同样的效果。
答案 1 :(得分:1)
使用visible
和gone
获取布局的可见性。
答案 2 :(得分:0)
完成工作后调用此行。
mProgressBar.dismiss();
答案 3 :(得分:0)
很抱歉,但是你无法通过不确定的进度条实现这一目标。控件用于显示正在后台执行的操作。没有迹象表明此操作何时开始或何时完成。
因此您要么必须使用确定的进度条,要么创建自己的自定义组件