使用indeterminateDrawable时,ProgressBar未显示在设备的中心

时间:2013-07-06 07:23:50

标签: android android-progressbar

我使用indeterminateDrawable属性处理自定义进度条,代码如下,当我删除indeterminateDrawable属性时,它显示在中心但未显示为具有此属性的中心。请帮帮我。

<LinearLayout
    android:id="@id/android:empty"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center" >

    <ProgressBar
        android:id="@+id/workingProgressBar"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:indeterminateDrawable="@drawable/startup_anim"
        android:indeterminateOnly="true" />
</LinearLayout>

抽拉/ startup_anim.xml

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:drawable="@drawable/animation4"
    android:duration="100"/>
<item
    android:drawable="@drawable/animation3"
    android:duration="100"/>
<item
    android:drawable="@drawable/animation2"
    android:duration="100"/>
<item
    android:drawable="@drawable/animation1"
    android:duration="100"/>
<item
    android:drawable="@drawable/animation0"
    android:duration="100"/>

</animation-list>

2 个答案:

答案 0 :(得分:2)

The answer here使用<scale> <item>内的<animation-list>来解决此类问题:

<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:duration="100">
        <scale
            android:drawable="@drawable/img_1"
            android:scaleGravity="center"/>
    </item>
    <item android:duration="100">
        <scale
            android:drawable="@drawable/img_2"
            android:scaleGravity="center"/>
    </item>
</animation-list>

答案 1 :(得分:-1)

在创建android:layout_width="match_parent"时不要使用android:layout_width="fill_parent"ProgressBar,它会拉伸它,结果将不会如您所愿。如果您希望将ProgressBar放在ActivityFragment中,只需使用此布局:

    <RelativeLayout
    android:id="@id/android:empty"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ProgressBar
        android:id="@+id/workingProgressBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:indeterminateDrawable="@drawable/startup_anim"
        android:indeterminateOnly="true" />

   </RelativeLayout>