【问题标题】:Android translate ImageView animation doesn't work properlyAndroid 翻译 ImageView 动画无法正常工作
【发布时间】:2014-07-08 16:16:40
【问题描述】:

我想在垂直轴上平移 ImageView,然后在水平轴上平移。

这是我的 translate.xml 代码:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:interpolator="@android:anim/linear_interpolator" >

    <translate
        android:fillAfter="true"
        android:fromYDelta="0%"
        android:toYDelta="180%"
        android:fromXDelta="50%"
        android:toXDelta="50%"
        android:duration="1500">
    </translate>

    <translate
        android:fillAfter="true"
        android:fromXDelta="0%"
        android:toXDelta="-200%"
        android:duration="1500">
    </translate>



    </set>

来自 Myactivity.java 的代码:

ImageView Img1 = (ImageView)findViewById(R.id.ImageView1);

anim_translate = AnimationUtils.loadAnimation(getApplicationContext(),translate);

//load animation
Img1.startAnimation(anim_translate);

我希望图像向下移动,然后向左平移,但它只会向左移动一次。 谢谢!

【问题讨论】:

  • 你试过把它分成两个动画吗?您可以在第一个动画完成时注册一个侦听器,然后您将启动第二个动画。
  • 现在已经解决了,谢谢!我为动画的每个部分添加了一个 android:startOffset。
  • 您可以分享最终解决方案,以便其他人可以使用它:)

标签: android animation android-imageview translate-animation


【解决方案1】:

解决办法是:

<translate 
    android:fromYDelta="0%" 
    android:toYDelta="170%" 
    android:fromXDelta="50%" 
    android:toXDelta="50%" 
    android:duration="1500" 
    android:fillAfter="true"> 
</translate> 

<translate 
    android:startOffset="1500" 
    android:fillAfter="true" 
    android:fromXDelta="0%" 
    android:toXDelta="-200%" 
    android:duration="1500"> 
</translate>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多