我非常接近獲得「硬幣翻轉」動畫的效果,但由於當前動畫系統中的限制(錯誤?) - 我無法找到顯示硬幣翻轉的兩面。顯示使用Android標準動畫翻轉硬幣的兩面
例如,我有以下動畫.XML:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<scale
android:repeatCount="17"
android:repeatMode="reverse"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0" android:toXScale="1.0"
android:fromYScale="1.0" android:toYScale="0.0"
android:pivotX="50%" android:pivotY="50%"
android:fillEnabled="true"
android:fillAfter="true"
android:duration="60"
/>
<scale
android:repeatCount="1"
android:repeatMode="reverse"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0" android:toXScale="2.0"
android:fromYScale="1.0" android:toYScale="2.0"
android:pivotX="50%" android:pivotY="50%"
android:fillEnabled="true"
android:fillAfter="true"
android:duration="800"
/>
<translate
android:repeatCount="1"
android:repeatMode="reverse"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXDelta="0%"
android:toXDelta="0%"
android:fromYDelta="0%"
android:toYDelta="-150%"
android:fillEnabled="true"
android:fillAfter="true"
android:duration="800"
/>
</set>
這種「假貨」翻動通過縮放在Y軸的硬幣和扭轉它在一個循環動畫。結合這一點,有一個規模可以使整體動畫更大,同時還可以將其整體上下翻轉。但它只能表現硬幣的一面。
我試着讓這兩個動畫在硬幣的每一面同時運行,但由於REPEATCOUNT在應用於AnimationSet時無法工作,所以無法找到錯開它們的方法。否則,我可以在一個anim之後(在另一個anim之前)引入某種延遲,使它們交替,從而給出硬幣翻轉的幻覺。
有誰知道任何方式我可以調整這個來得到想要的結果?
我曾經想過放棄並做一個基於幀的動畫(預渲染翻轉幀),但它看起來你不能混合幀的&吐溫動畫,所以我會失去翻轉「高度」和「距離」效應。
(我還有一個問題,當涉及到的硬幣落地 - 例如最後的結果是隨機的,但我希望我能在實際的結果在最後切換)
提前感謝!
謝謝你的Jaydeep。之前我曾經遇到過這篇文章,但對於我想要做的事情來說似乎有點矯枉過正。另外,我不確定我如何將它與其他效果(縮放和移動)結合起來。但是,它看起來是唯一真正的方法... – 2011-05-26 11:37:38