如何提高android的转速?

时间:2010-07-02 13:11:45

标签: android animation rotation

我有一个可绘制的图像。我像进度条一样旋转图像。

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

我想提高转速?为此,我必须使用什么属性?

6 个答案:

答案 0 :(得分:118)

设置持续时间和/或重复计数并没有帮助我处理不确定的ProgressBar动画。我不得不增加toDegrees以使其产生额外的循环:

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/ic_indeterminate_progress"
    android:duration="1"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="1080" /> <!--1080 is 3 loops instead of 1 in same amt of time-->

答案 1 :(得分:32)

根据this link

  

不确定进度条的旋转速度固定为1   每4秒旋转一次,改变持续时间属性   可绘制XML无效。如果你想加快速度,你可以   将toDegrees属性更改为360的倍数:

     
      
  • 720在2秒钟内转一圈
  •   
  • 1080在1.33秒内转一圈
  •   
  • 1440在1秒内转一圈
  •   

此外,您可以对ProgressBar使用indeterminateDuration。

答案 2 :(得分:8)

将代码添加到 progress.xml

 <rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fromDegrees="0"
    android:toDegrees="1080" /> <!--1080 is 3 loops instead of 1 in same amt of time-->

答案 3 :(得分:3)

设置您希望动画运行的durationrepeatCount

答案 4 :(得分:2)

android:duration="required value in ms"

答案 5 :(得分:0)

将代码添加到progress.xml

<?xml version="1.0" encoding="utf-8"?>
    <rotate xmlns:android="http://schemas.android.com/apk/res/android"
        android:pivotX="50%"
        android:pivotY="50%"
        android:fromDegrees="0"
        android:toDegrees="1440">
    
        <shape
            android:shape="ring"
            android:innerRadiusRatio="3"
            android:thicknessRatio="8"
            android:useLevel="false">
    
            <size
                android:width="76dip"
                android:height="76dip" />
    
            <gradient
                android:type="sweep"
                android:useLevel="false"
                android:startColor="#FF0000"
                android:endColor="#00ffffff"
                android:angle="0"/>
    
        </shape>
    
    </rotate>