在Android中翻译动画 - 从屏幕中心开始

时间:2017-07-26 11:24:25

标签: android xml animation position translate

我在Imageview中有一个RelativeLayout。它应该从屏幕中心(父级)开始,然后转到特定点。实际我使用 xml 。 任何解决方案?

我的动画XML -

<set xmlns:android="http://schemas.android.com/apk/res/android">
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="false">

  <translate
        android:fromYDelta="0%p"
        android:fromXDelta="0%p"
        android:toYDelta="0%"
        android:toXDelta="0%"
        android:duration="1000"
        android:pivotX="0%p"
        android:pivotY="0%p"/>

  <scale xmlns:android="http://schemas.android.com/apk/res/android"
      android:fromXScale="432px"
      android:toXScale="100%"
      android:fromYScale="450px"
      android:toYScale="100%"
      android:duration="1000"
      android:pivotX="0%p"
      android:pivotY="0%p" />
</set>

我已在fromYDeltafromXDelta中使用100%p, 50%p, 0%p, 100, 50, 0, 100%, 50% and 0%进行了尝试。什么都行不通! 现在我很困惑! 感谢您的时间和帮助

编辑:

A picture to explain what the Animation should do

1 个答案:

答案 0 :(得分:0)

在anim文件夹中添加:

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="50%p" android:fromYDelta="50%p" 
    android:toXDelta="50%p" android:toYDelta="0%p" 
    android:duration="1000" 
    android:fillAfter="true" />

在代码中实现:

translateAnim= AnimationUtils.loadAnimation(getApplicationContext(),
            R.anim.translate_anim);
imageView.startAnimation(translateAnim);

这会将图像从中心移动到顶部。