android:xml for default indeterminate Progressbar with custom colors

时间:2015-10-01 13:52:07

标签: java android user-interface

我需要创建一个与默认小部件相同的不确定进度条,只是使用不同的颜色。我不能使用着色,因为我需要从api 15 +支持。

到目前为止,我的解决方案是使用自定义可绘制的xml:

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
    android:toDegrees="360">

    <shape android:shape="ring" android:innerRadiusRatio="3"
        android:thicknessRatio="8" android:useLevel="false">

        <size android:width="48dip" android:height="48dip" />

        <gradient android:type="sweep" android:useLevel="false"
            android:startColor="somecolor" android:centerColor="somecolor"
            android:centerY="0.50" android:endColor="somecolor" />

    </shape>

</rotate> 

然后定义那个自定义drawable:

        <ProgressBar
        android:id="@+id/customprogressbar"
        android:layout_width="42dp"
        android:layout_height="35dp"
        android:layout_gravity="center"
        android:visibility="gone"
        android:indeterminateDrawable="@drawable/customprogressbardrawable"
        style="@android:style/Widget.ProgressBar"
        />

这样可行,但它看起来不像默认的进度条。我可以使用哪些默认设置 - 或者是否有更好的方法可以使用默认小部件以不同的颜色使我的进度条相同?

1 个答案:

答案 0 :(得分:1)

感谢您的回复。对于任何有兴趣的人,我最终用这个第三方库解决了它:

https://github.com/DreaminginCodeZH/MaterialProgressBar