如何让 ProgressBar 循环并处于确定模式? [复制]
Posted
技术标签:
【中文标题】如何让 ProgressBar 循环并处于确定模式? [复制]【英文标题】:How to have a ProgressBar circular and in determinate mode? [duplicate] 【发布时间】:2017-03-30 13:23:28 【问题描述】:我必须在设备上下载一些图像和视频,我喜欢通过在确定模式下叠加一个圆形 ProgressBar 来跟踪进度。
问题是,无论如何,ProgressBar 仍然是不确定的。
有没有办法让它循环并处于确定模式?
布局
<ProgressBar
android:layout_
android:layout_
android:progressTint="@color/colorPrimary"
android:indeterminate="false"
android:max="100"
android:layout_gravity="center"
android:id="@+id/message_media_preview_progress"
android:visibility="gone"
/>
代码
final ProgressBar progressBar = (ProgressBar) mView.findViewById(R.id.message_media_preview_progress);
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(0);
storageController.downloadMedia(context, message.getVideoFile(),
new ProgressListener<Integer>()
@Override
public void onResult(Integer result)
progressBar.setProgress(result);
,
new ResultListener<Boolean>()
@Override
public void onResult(Boolean result)
if(result)
progressBar.setVisibility(View.GONE);
setMediaClickListener(message);
else
Toast.makeText(context,"Error downloading file",Toast.LENGTH_SHORT).show();
);
【问题讨论】:
抱歉,库存的 Android ProgressBar 无法实现。寻找外部库:github.com/dinuscxj/CircleProgressBar 好的,好的,谢谢。如果您将评论放在答案中,我会将其标记为已接受。 写下了答案。 这能回答你的问题吗? How do I use Android ProgressBar in determinate mode? 请注意,尽管重复的问题是关于水平进度条的,但它现在有一个答案,解释了如何对圆形进度条执行此操作。 【参考方案1】:很遗憾,这对于现有的 Android ProgressBar 是不可能的。寻找外部库,例如:
http://github.com/dinuscxj/CircleProgressBar
【讨论】:
【参考方案2】:现在可以在material design library 的较新版本中具有确定的循环进度条:
<com.google.android.material.progressindicator.CircularProgressIndicator
android:layout_
android:layout_ />
更多信息请参考here。
【讨论】:
【参考方案3】:更改进度条的可见性。
-
为进度条分配 ID。
进度条可见 - 下载按钮已点击。
进度条消失 - onResult
【讨论】:
以上是关于如何让 ProgressBar 循环并处于确定模式? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Android 6.0 处于打盹模式时如何让闹钟管理器工作?
delphi xe android 更改ProgressBar1进度条颜色