如何向ProgressBar中添加额外的形状以及进度?

时间:2016-06-22 16:15:20

标签: android android-drawable android-progressbar

我获得了一个自定义ProgressBar的设计,如下所示:

enter image description here

它的工作方式是在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>

0 个答案:

没有答案