java - XML 动画在开始和结束时加速和减速,尽管使用了 linear_interpolator

标签 java android xml animation

我需要我的两个动画连续重复,中间没有停顿。然而,每次它都会在动画开始时加速,并在结束时减速。

我的 XML:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="10000"
        android:fromYDelta="-100%p"
        android:interpolator="@android:anim/linear_interpolator"
        android:repeatCount="infinite"
        android:startOffset="0"
        android:toYDelta="-1%p" />

</set>



 <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="10000"
        android:fromYDelta="0%p"
        android:interpolator="@android:anim/linear_interpolator"
        android:repeatCount="infinite"
        android:toYDelta="99%p"
        android:startOffset="0" />

</set>

感谢任何帮助。

注意:Delta 最初是 100 而不是 99,是 0 而不是 1,但这对情况没有帮助。

最佳答案

将 android:interpolator 标签放在 main set 标签中。

因此,如果您查看 AnimationSet(context, resource file) 构造函数的源代码,默认将共享插值器设置为 true 即。如果此集合中的所有动画都应使用与此 AnimationSet 关联的插值器,则传递 true。如果每个动画都应该使用自己的插值器,则传递 false。因此,您需要将插值器放在场景中而不是动画 fragment 本身。

关于java - XML 动画在开始和结束时加速和减速,尽管使用了 linear_interpolator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23769839/

相关文章:

java - Android 地理围栏不触发 IntentService

xml - 如何将 XML 从一个 XSD 转换为另一个 XSD?

java - 在运行时访问泛型类型参数?

java - ZK拖放和数据绑定(bind)

java - 为什么 LinkedList 在 java 中没有 initialCapacity?

android - SoundPool play()... 在线程或主 UI 线程中更好?

Java请求getInputStream返回空流

android - 我正在尝试使用警报管理器在特定时间设置警报,但警报会立即启动?

xml - 使用 Java 从 URL 下载 XML/RDF 文件

python - SimplerXMLGenerator 没有属性 '_write'