ProgressBar设置自定义drawable正在填充进度条

时间:2016-05-04 08:55:21

标签: android android-xml android-drawable android-progressbar

我正在为我的水平progressBar设置一个自定义progressbarDrawable,但它似乎填充了完整的进度条,因此它始终设置为100%。

这是我的绘画:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@android:id/background"
        android:drawable="@drawable/gold_progress_bg" />
    <!--<item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/gold_progress_progress" />-->
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/gold_progress_progress" />

</layer-list>

这是我应用于视图的样式:

<style name="DottedVehicleProgressBar" parent="@android:style/Widget.Holo.Light.ProgressBar.Horizontal">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:indeterminateOnly">false</item>
        <item name="android:progress">50</item>
        <item name="android:progressDrawable">@drawable/dotted_progress_drawable</item>
    </style>

以下是xml中视图的定义:

<ProgressBar
        android:id="@+id/vehicle_dotted_progress"
        style="@style/DottedVehicleProgressBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:progress="50"
        app:tickInterval="10.0" />

1 个答案:

答案 0 :(得分:0)

根据here的回答,<layer-list>元素周围的<clip>将会修复它。

<?xml version="1.0" encoding="utf-8"?>
<clip>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">

        <item
            android:id="@android:id/background"
            android:drawable="@drawable/gold_progress_bg" />
        <!--<item
            android:id="@android:id/secondaryProgress"
            android:drawable="@drawable/gold_progress_progress" />-->
        <item
            android:id="@android:id/progress"
            android:drawable="@drawable/gold_progress_progress" />

    </layer-list>
</clip>