如何提高android中的旋转速度?

发布于 2024-09-08 14:44:14 字数 299 浏览 2 评论 0原文

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

<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" />

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

I have an image drawable. i rotating the image like a progress bar.

<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" />

i want to increase the rotation speed? for that, What attribute i have to use?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

断爱 2024-09-15 14:44:14

设置持续时间和/或重复次数对我处理不确定的 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-->

Setting duration and/or repeat count did not help me with an indeterminate ProgressBar animation. I had to increase the toDegrees to have it make additional loops:

<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-->
窝囊感情。 2024-09-15 14:44:14

根据此链接

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

  • 720 2 秒转一圈
  • 1080 转一圈需要 1.33 秒
  • 1440 1 秒转一圈

此外,您可以仅对 ProgressBar 使用 inminatedDuration。

According to this link:

The rotation speed of the indeterminate progress bar is fixed at one
revolution every 4 seconds, changing the duration attribute in the
drawable XML has no effect. If you prefer to speed it up, you can
change the toDegrees attribute to multiples of 360:

  • 720 makes one turn in 2 seconds
  • 1080 makes one turn in 1.33 seconds
  • 1440 makes one turn in 1 second

In addition, you can just use indeterminateDuration for the ProgressBar.

儭儭莪哋寶赑 2024-09-15 14:44:14

将代码添加到 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-->

add in code to 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-->
万劫不复 2024-09-15 14:44:14

设置 持续时间repeatCount 您希望动画运行。

Set the duration and repeatCount that you want the animation to run.

欢烬 2024-09-15 14:44:14
android:duration="required value in ms"
android:duration="required value in ms"
一桥轻雨一伞开 2024-09-15 14:44:14

将代码添加到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>

add in code to 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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文