将Android进度条样式从progressBarStyleHorizontal更改为progressBarStyleInverse后,进度条始终是不确定的。

6
我正在尝试放置一个圆形进度条,最初将其设置为不确定模式,并在下载开始并且有进度可用时将其转换为确定模式并设置其进度。当使用progressBarStyleHorizontal样式时,代码运行得非常好,但是一旦我将其更改为progressBarStyleInverse并设置进度时,进度条没有任何效果。进度条开始不确定并且始终保持相同状态。
令我惊讶的是,在xml中设置android:indeterminate=false也没有效果。
这是xml中进度条的声明。
<ProgressBar
                    style="?android:attr/progressBarStyleHorizontal"
                    android:indeterminate="false"
                    android:layout_gravity = "center"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"/>

这是我更新进度条的方法。显然,我有一个id与之对应,但在xml中已经删除了它。我使用findViewById获取了进度条的引用。(如果你认为引用进度条是问题所在,那就不是问题)

holder.progressbar.setIndeterminate(false);
holder.progressbar.invalidate();
holder.progressbar.setProgress(/*value */);

我犯了什么错误?请帮忙。我在这个问题上浪费了将近5个小时。请帮忙。
提前感谢。
1个回答

17

关键在于即使是圆形的ProgressBar,也需要使用style="?android:attr/progressBarStyleHorizontal",并将圆形图案设置为进度Drawable。

参考此问题:

Android Circular Determinate ProgressBar


他在谈论哪些进度圆形背景和进度粒子的绘图元素? - Sandeep Bhandari
嘿,我找到了解决方案 :) 你提供的链接给了我解决方案的想法,但是我没能理解图片。其实这些图片并不是必需品。我在你提供的链接和更多的谷歌搜索帮助下达到了我想要的目标。谢谢伙计。 - Sandeep Bhandari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接