如何在Android中使用补间动画水平翻转图像?我不想要3D效果。我只需要镜像图像。
答案 0 :(得分:0)
我认为scaleX或scaleY的负值会导致镜像。如果是你的情况,你可以将比例从1调整为-1。这是你需要的吗?
答案 1 :(得分:0)
是的,你是对的。它可以这样做,但我有一些麻烦交替积极和消极的价值观。看看这个:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:shareInterpolator="false" >
<!-- <alpha -->
<!-- android:duration="200" -->
<!-- android:fromAlpha="0" -->
<!-- android:startOffset="0" -->
<!-- android:toAlpha="1" /> -->
<scale
android:duration="400"
android:fromXScale="0"
android:fromYScale="0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.4"
android:toYScale="0.4" />
<!-- <alpha -->
<!-- android:duration="200" -->
<!-- android:fromAlpha="1" -->
<!-- android:startOffset="200" -->
<!-- android:toAlpha="0" /> -->
<!-- <alpha -->
<!-- android:duration="200" -->
<!-- android:fromAlpha="0" -->
<!-- android:startOffset="400" -->
<!-- android:toAlpha="1" /> -->
<scale
android:duration="400"
android:fromXScale="-0.4"
android:fromYScale="0.4"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="400"
android:toXScale="-0.8"
android:toYScale="0.8" />
<!-- <alpha -->
<!-- android:duration="200" -->
<!-- android:fromAlpha="1" -->
<!-- android:startOffset="600" -->
<!-- android:toAlpha="0" /> -->
<!-- <alpha -->
<!-- android:duration="200" -->
<!-- android:fromAlpha="0" -->
<!-- android:startOffset="800" -->
<!-- android:toAlpha="1" /> -->
<scale
android:duration="400"
android:fromXScale="0.8"
android:fromYScale="0.8"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="800"
android:toXScale="1.2"
android:toYScale="1.2" />
<!-- <alpha -->
<!-- android:duration="200" -->
<!-- android:fromAlpha="1" -->
<!-- android:startOffset="1000" -->
<!-- android:toAlpha="0" /> -->
<!-- <alpha -->
<!-- android:duration="200" -->
<!-- android:fromAlpha="0" -->
<!-- android:startOffset="1200" -->
<!-- android:toAlpha="1" /> -->
<scale
android:duration="400"
android:fromXScale="-1.2"
android:fromYScale="1.2"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="1200"
android:toXScale="-1.6"
android:toYScale="1.6" />
<!-- <alpha -->
<!-- android:duration="200" -->
<!-- android:fromAlpha="1" -->
<!-- android:startOffset="2400" -->
<!-- android:toAlpha="0" /> -->
</set>
这应生成一个增长和翻转的图像......但它不起作用。它只显示有时会增长的图像......但是没有镜像图像!
我做错了什么?
EDITED ----
最后,我找到了一种方法让它发挥作用。我翻转并调整大小两部分。但我无法添加更多调整大小,因为它不会显示任何内容...尝试取消注释注释块并告诉我为什么它以这种方式工作...
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:shareInterpolator="false">
<alpha
android:duration="200"
android:fromAlpha="0"
android:startOffset="0"
android:toAlpha="1" />
<scale
android:duration="400"
android:fromXScale="0"
android:fromYScale="0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.4"
android:toYScale="0.4" />
<scale
android:duration="1"
android:fromXScale="0.4"
android:fromYScale="0.4"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="400"
android:toXScale="-0.4"
android:toYScale="0.4" />
<scale
android:duration="399"
android:fromXScale="-0.4"
android:fromYScale="0.4"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="401"
android:toXScale="-0.8"
android:toYScale="0.8" />
<scale
android:duration="1"
android:fromXScale="-0.8"
android:fromYScale="0.8"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="800"
android:toXScale="0.8"
android:toYScale="0.8"/>
<scale
android:duration="399"
android:fromXScale="0.8"
android:fromYScale="0.8"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="801"
android:toXScale="1.2"
android:toYScale="1.2" />
<scale
android:duration="1"
android:fromXScale="1.2"
android:fromYScale="1.2"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="1200"
android:toXScale="-1.2"
android:toYScale="1.2"/>
<scale
android:duration="399"
android:fromXScale="-1.2"
android:fromYScale="1.2"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="1201"
android:toXScale="-1.6"
android:toYScale="1.6" />
<scale
android:duration="1"
android:fromXScale="-1.6"
android:fromYScale="1.6"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="1600"
android:toXScale="1.6"
android:toYScale="1.6"/>
<scale
android:duration="399"
android:fromXScale="1.6"
android:fromYScale="1.6"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="1601"
android:toXScale="2"
android:toYScale="2" />
<scale
android:duration="1"
android:fromXScale="2"
android:fromYScale="2"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="2000"
android:toXScale="-2"
android:toYScale="2"/>
<scale
android:duration="399"
android:fromXScale="-2"
android:fromYScale="2"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="2001"
android:toXScale="-2.4"
android:toYScale="2.4" />
<!-- <scale -->
<!-- android:duration="1" -->
<!-- android:fromXScale="-2.4" -->
<!-- android:fromYScale="2.4" -->
<!-- android:pivotX="50%" -->
<!-- android:pivotY="50%" -->
<!-- android:startOffset="2400" -->
<!-- android:toXScale="2.4" -->
<!-- android:toYScale="2.4" /> -->
<!-- <scale -->
<!-- android:duration="399" -->
<!-- android:fromXScale="2.4" -->
<!-- android:fromYScale="2.4" -->
<!-- android:pivotX="50%" -->
<!-- android:pivotY="50%" -->
<!-- android:startOffset="2401" -->
<!-- android:toXScale="2.8" -->
<!-- android:toYScale="2.8" /> -->
<!-- <scale -->
<!-- android:duration="1" -->
<!-- android:fromXScale="2.8" -->
<!-- android:fromYScale="2.8" -->
<!-- android:pivotX="50%" -->
<!-- android:pivotY="50%" -->
<!-- android:startOffset="2800" -->
<!-- android:toXScale="-2.8" -->
<!-- android:toYScale="2.8" /> -->
<!-- <scale -->
<!-- android:duration="399" -->
<!-- android:fromXScale="-2.8" -->
<!-- android:fromYScale="2.8" -->
<!-- android:pivotX="50%" -->
<!-- android:pivotY="50%" -->
<!-- android:startOffset="2801" -->
<!-- android:toXScale="-3.2" -->
<!-- android:toYScale="3.2" /> -->
<alpha
android:duration="200"
android:fromAlpha="1"
android:startOffset="2400"
android:toAlpha="0" />
</set>