所以这是我的XML动画
<?xml version="1.0" encoding="utf-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
android:repeatCount="infinite"
android:interpolator="@android:anim/linear_interpolator" />
我将此应用于ImageView作为旋转图像的方法。但这一运动非常不稳定。每次图像旋转时,它似乎在旋转的两个点上跳过,彼此相隔180度。我看不出有任何理由发生这种情况,是否有人遇到这种困难并找到了解决办法?
答案 0 :(得分:0)
尝试设置不同的插补器。仅供参考,在android中创建动画时使用的默认插值器不是线性插值器,而是AccelerateDecelerateInterpolator
。
答案 1 :(得分:0)
我不知道为什么你没有得到正确的结果。这对我有用
您可以使用动画XML文件中的内置android.R.anim.linear_interpolator
android:interpolator="@android:anim/linear_interpolator".
或者您可以在项目中创建自己的XML插值文件,例如将它命名为
RES /动画/ linear_interpolator.xml:
<?xml version="1.0" encoding="utf-8"?>
<linearInterpolator xmlns:android="http://schemas.android.com/apk/res/android" />
并添加到动画XML:
android:interpolator="@anim/linear_interpolator"
并使用
android:toDegrees="360"
到
android:toDegrees="359"
360和0度相同
答案 2 :(得分:0)
模拟器始终不稳定。尝试在设备中进行调试。如果没有加速旋转。
答案 3 :(得分:0)
如果这个轮换非常重要,我想这是你UI的重要部分。
在这种情况下,您应该对简单的OpenGL实现感兴趣,它将帮助您解决问题。
我建议使用http://www.andengine.org/ - 简单易用。
在AndEngineExamples上你可以找到很好的代码样本,甚至太多了!
答案 4 :(得分:-1)
尝试在drawable中创建一个xml文件并将你的drawable放在那里,代码如下,命名此文件my_progress_indeterminate.xml:
<?xml version="1.0" encoding="utf-8"?><animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/your_rotating_image"
android:pivotX="50%"
android:pivotY="50%" />
很抱歉,但是你必须把它放进去吧这样很简单,如果图像是静态的,与图像视图相同,不需要做任何不同的编码,只需在你的布局xml文件中这样写:
<ProgressBar android:indeterminateDrawable="@drawable/my_progress_indeterminate" android:layout_height="100dp" android:layout_width="100dp"></ProgressBar>