gpt4 book ai didi

android - 在运行时更改 Android 中自定义进度条的颜色

转载 作者:太空狗 更新时间:2023-10-29 15:20:37 27 4
gpt4 key购买 nike

我制作了一个自定义进度条并在可绘制文件中设置了它的颜色:

  <item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="30dip" />
<gradient
android:startColor="#CCFF33"
android:centerColor="#33CC33"
android:endColor="#009933"
/>
</shape>
</clip>

在网上搜索了一段时间后,我找到了一种方法来创建一个progressBar,顶部有一个textView,这样文本就可以指示进度条中的进度百分比。

一旦我点击一个按钮,进度就会开始。我已将颜色设置为绿色。进度到100%后,我想让它重新开始,只是这次它的颜色应该是红色。

我尝试使用 setProgressDrawable 来做到这一点,但是一旦我点击按钮,进度条就会消失。有什么建议或想法吗?

最佳答案

我遇到了同样的问题,我找到了解决方案 here

简而言之,诀窍是使用 Drawable 的 getBounds/setBounds

Rect bounds = mProgressBar.getProgressDrawable().getBounds(); // get current bounds before change drawable
mProgressBar.setProgressDrawable(res.getDrawable(R.drawable.use_different_drawable_here));
mProgressBar.getProgressDrawable().setBounds(bounds); // set bounds back
mProgressBar.setProgress(50); // you need to set progress again, because after changing drawable, progress is reset to 0 (I think so)

关于android - 在运行时更改 Android 中自定义进度条的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8148704/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com