android:自定义进度条

时间:2016-04-27 09:09:32

标签: android android-progressbar layer-list

我想用Spinner样式创建Custom ProgressBar,如下所示:

enter image description here

我尝试过以下方法来实现这一目标:

layout.xml

<ProgressBar
        android:id="@+id/pb_capture_video"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_centerInParent="true"
        android:indeterminate="false"
        android:max="60"
        android:indeterminateDrawable="@drawable/layer_list_progress_bar_background"
        android:progress="30"
        android:progressDrawable="@drawable/layer_list_progress_bar_foreground"/>

layer_list_progress_bar_background.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 android:shape="oval">
        <stroke
            android:width="1dp"
            android:color="@android:color/white" />
    </shape>
</item>

layer_list_progress_bar_foreground.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/progress">
    <shape android:shape="oval">
        <stroke
            android:width="1dp"
            android:color="@color/colorAccent" />
    </shape>
</item>

但是,我无法显示进度。我的代码输出如下:

enter image description here

我在某个地方出错了吗?无论如何我能实现我想要的目标吗?

如果看起来这不是正确的方法,请另外建议我。

1 个答案:

答案 0 :(得分:0)

它并不像你想象的那么简单。你必须在Java中使用动画。这是solution