Android进度条indeterminatedrawable未填写进度条

时间:2016-04-17 10:50:43

标签: android user-interface android-progressbar

我试图编写一个不确定的进度条,它填充Android上父级的宽度。当我运行我的应用程序时,动画只覆盖进度条的微小中心部分。这里有人可以帮帮我吗? 活动布局XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.company.MainActivity">

    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="5dp"
        android:id="@+id/loadingBar"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentRight="false"
        android:layout_alignParentEnd="false"
        android:padding="0dp"
        android:max="100"
        android:progress="0"
        android:visibility="visible"
        android:layout_centerHorizontal="false"
        android:layout_alignParentTop="true"
        android:indeterminateDrawable="@drawable/progressbar_drawable"
        android:layout_marginTop="0dp"
        android:indeterminateOnly="true"
        android:maxHeight="5dp"
        android:minHeight="5dp"
        android:indeterminateBehavior="cycle"
        android:indeterminate="true"
        android:paddingEnd="0dp"
        android:paddingStart="0dp"
        android:foregroundGravity="fill" />
</RelativeLayout>

进度条可绘制XML:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@android:id/background">
        <shape>
            <gradient
                android:angle="270"
                android:centerColor="#ff5a5d5a"
                android:centerY="0.5"
                android:endColor="#ffaa0000"
                android:startColor="#ff9d9e9d" />
        </shape>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <gradient
                    android:angle="0"
                    android:endColor="#ff009900"
                    android:startColor="#ff000099" />
            </shape>
        </clip>
    </item>
</layer-list>

当我运行我的应用程序时,动画只覆盖容器的微小中心部分。我将进度条的背景设置为非白色。我可以看到进度条填充了父视图的宽度。

1 个答案:

答案 0 :(得分:0)

我将android:indeterminateOnly属性更改为false。该应用程序的行为符合预期。