【问题标题】:How to define flip animation如何定义翻转动画
【发布时间】:2011-07-25 19:10:40
【问题描述】:

点击后,我想制作类似于 ImageView 的翻转动画。我的意图是将图像的宽度缩小到 0,然后立即将其扩展回 1.0。这应该模拟图像的翻转。

这是我真正拥有的。点击图片后,图片会从 1.0 缩小到 0。

我的问题是如何继续扩展部分动画?

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
    <scale
            android:interpolator="@android:anim/linear_interpolator"
            android:fromXScale="1.0"
            android:toXScale="0.0"
            android:fromYScale="1.0"
            android:toYScale="1.0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:duration="200" />
 </set>

编辑

我为动画的反向部分添加了另一个块,但它没有按预期工作。似乎 startOffset 没有生效或类似的东西。换句话说,动画被搞砸了,动画的第一部分似乎也受到了这个附加代码的影响。我做错了什么?

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
    <scale
            android:interpolator="@android:anim/linear_interpolator"
            android:fromXScale="1.0"
            android:toXScale="0.0"
            android:fromYScale="1.0"
            android:toYScale="1.0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:duration="200" />
    <set android:startOffset="200">
        <scale
            android:interpolator="@android:anim/linear_interpolator"
            android:fromXScale="0.0"
            android:toXScale="1.0"
            android:fromYScale="1.0"
            android:toYScale="1.0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:duration="200" />
    </set>
 </set>

【问题讨论】:

    标签: android animation


    【解决方案1】:

    在您的第一个集合中埋葬另一个&lt;set&gt; &lt;scale /&gt; &lt;/set&gt;,但在初始规模之后。这将使它们按顺序触发。

    有关示例,请参阅此页面。 http://developer.android.com/guide/topics/graphics/view-animation.html

    【讨论】:

    • 我添加了动画的第二部分(请参阅原始帖子编辑部分),但它没有按预期工作。我期待在动画的第一部分完成后(第一个比例)然后第二部分将开始。但事实并非如此。整个动画很奇怪,似乎第一部分也受到了这个附加代码的影响。我希望第一个规模将按原样工作。同时第二部分等待 200milis 然后开始。
    【解决方案2】:

    经过下一次的研发,我发现这段代码完全符合我的要求。

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"
         android:interpolator="@android:anim/linear_interpolator">
    
        <scale
                android:fromXScale="1.0"
                android:toXScale="0.0"
                android:fromYScale="1.0"
                android:toYScale="1.0"
                android:pivotX="50%"
                android:pivotY="50%"
                android:duration="200"
                android:repeatCount="2"
                android:repeatMode="reverse"/>
    
        </set>
    

    这意味着我在动画定义中添加了repeatModerepeatCount,这符合我的预期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-22
      • 2017-05-23
      • 2021-11-29
      • 1970-01-01
      • 2011-03-22
      • 2019-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多