如何让 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进度条颜色

如何确定 WPF DataGrid 是不是处于编辑模式? [复制]

如何确定用户的 iPhone 是不是处于纵向模式?

使用另一个线程时,ProgressBar 不显示