如何降低自定义ProgressBar的速度

时间:2012-12-24 06:09:00

标签: android progress-bar

我已经实现了一个自定义进度条,我在从URL获取数据时显示它,当进度条正在旋转时工作正常,但我的问题是我无法找到减少其旋转的正确方法速度,目前正在快速旋转。

请帮助我提出建议和回复。

进度条的xml布局: -

  <ProgressBar
        android:id="@+id/showProgress"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:indeterminateDrawable="@drawable/my_progress_indeterminate" />

此处也是&#34; my_progress_indeterminate&#34;用于旋转我的自定义进度条: -

<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/image_loading"
    android:pivotX="50%"
    android:pivotY="50%" />

如果可能的话,请分享一些例子以降低轮换速度。

任何建议都将受到赞赏。

3 个答案:

答案 0 :(得分:3)

试试这个。它会对你有所帮助。

创建progressbar_custom.xml

/res/drawable/progressbar_custom.xml:

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

    <shape
        android:innerRadius="18dp"
        android:shape="ring"
        android:thickness="5dp"
        android:useLevel="false" >
        <size
            android:height="48dp"
            android:width="48dp" />

        <gradient
            android:centerColor="#802A67AD"
            android:centerY="0.5"
            android:endColor="#ff2A67AD"
            android:startColor="#002A67AD"
            android:type="sweep"
            android:useLevel="false" />
    </shape>

</rotate>

在XML文件中添加进度条

 <ProgressBar
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:indeterminateDrawable="@drawable/progressbar_custom" />

答案 1 :(得分:1)

使用“rotate”代替“animated-rotate”并更改android:toDegrees或android:toDegress应该让它变慢。

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/image_loading"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="360" />

答案 2 :(得分:1)

将代码添加到progress.xml

android:fromDegrees="0"

android:toDegrees="1080"   <!-- Add in code to progress custumize xml to speed up -->