我获得了一个自定义ProgressBar
的设计,如下所示:
它的工作方式是在0
进度时条形图完全呈蓝色,随着进度的增加,每个边向中心填充相同的白色,直到整个条形图为max
进度为白色
我已经把酒吧设置得很好。我使用了两个ProgressBar
个对象,一个从左向右移动,另一个旋转,从而从右向左移动。
我坚持的部分是如何绘制那些与白色进度<clip>
一起向中心移动的额外圆形。我尝试在XML中的<shape>
项目中添加额外的<clip>
,但这样可以将圈子拉伸,就像使用圆圈填充栏一样。
有没有办法可以将这些额外的形状添加到ProgressBar
XML本身,还是我需要为这些形状创建另一个drawable
,然后在代码中手动更新它们的位置?我不确定这里的正确方法是什么,我在研究中找不到任何类似的例子。任何帮助表示赞赏!
这是我用于progressDrawable
的XML:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@android:id/background">
<shape>
<corners
android:topLeftRadius="12dp"
android:bottomLeftRadius="12dp"/>
<solid android:color="#29A4DD"/>
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners
android:topLeftRadius="12dp"
android:bottomLeftRadius="12dp"
android:topRightRadius="0dp"
android:bottomRightRadius="0dp"/>
<solid android:color="#F05926"/>
</shape>
</clip>
</item>
</layer-list>