Android 动画旋转

标签 android animation progress-bar customization

我在 Android 代码中做了一些挖掘,并在不确定的进度条中看到了 的使用。在尝试用这个标签创建我自己的drawable之后:

<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/spinner_pia"
    android:pivotX="50%"
    android:pivotY="50%"
    android:framesCount="12"
    android:frameDuration="100" />

我收到一个错误: “在包 'android' 中找不到属性 'frameDuration' 的资源标识符” - 这意味着 frameDuration 是私有(private)属性。 有没有办法使用这个“动画旋转”功能?

我的任务是替换系统默认的不确定进度条。我想用尽可能少的代码来做到这一点(如果可能的话,只需更改一些属性)。 使用 ProgressBar View ,设置:

android:indeterminateOnly="true"
android:indeterminateBehavior="cycle"
android:indeterminateDuration="3500"
android:indeterminateDrawable="@drawable/pia_sivuvator"

并将“@drawable/pia_sivuvator”指向该对象会使我的任务变得优雅,但我被困在那些私有(private)属性上。

帮助?

最佳答案

我遇到了完全相同的问题。您可以排除这些参数(framesCount 和 frameDuration),它可能对您有用。我尝试排除它们并且动画效果很好,但是我设置的宽度/高度没有得到尊重,所以我最终创建了一个简单的旋转动画和一个 ImageView 来应用它。这是动画文件(res/anim/itarian_rotation.xml):

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

然后您只需为动画充气,设置重复次数,然后从 View 中启动它

Animation rotation = AnimationUtils.loadAnimation(this, R.anim.clockwise_rotation);
rotation.setRepeatCount(Animation.INFINITE);
myView.startAnimation(rotation);

关于Android 动画旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359390/

相关文章:

javascript - 如何为Cube Three.js制作 float 效果

android - 如何在确定模式下使用 Android ProgressBar?

java - Android-几天后运行后出现代码错误

安卓软键盘

android - 自定义 TextView - 在构造函数之前调用的 setText()

ios - 将进度条添加到 UIAlertController 并显示更新

c# - winform进度条中的动画条

java - 在 Android 应用程序中使用线程

java - 在布局转换中为默认动画添加延迟

android - overridePendingTransition 在 Android 中不起作用