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

在Android中翻译动画-从屏幕中央开始,android,xml,animation,position,translate,Android,Xml,Animation,Position,Translate,我在一个RelativeLayout中有一个Imageview。它应该从屏幕中心(父屏幕)开始,然后到达特定点。我实际使用的是xml。 有什么解决办法吗 我的动画XML- <set xmlns:android="http://schemas.android.com/apk/res/android"> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="fal

我在一个
RelativeLayout
中有一个
Imageview
。它应该从屏幕中心(父屏幕)开始,然后到达特定点。我实际使用的是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>

我在
fromYDelta
fromXDelta
中用
100%p、50%p、0%p、100、50、0、100%、50%和0%试过。什么都不管用!
现在我糊涂了!
谢谢你的时间和帮助

编辑:


将此添加到动画文件夹中:

<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" />

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

将其添加到动画文件夹中:

<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" />

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

您尝试过这个吗?它是横幅中的一个元素,即顶部(32dp marginTop)和中心。但是图片需要留在横幅上。是啊,我试过了,但是我需要想办法把它放回横幅上。你试过这个吗?它是横幅上的一个元素,是顶部(32dp marginTop)和中间。但是图像需要保留在横幅中是啊,我试过了,但是我需要想办法把它放回横幅中。我可以把这个安卓:toXDelta=“50%p”安卓:toYDelta=“0%p”改成安卓:toXDelta=“100%”安卓:toYDelta=“100%”这完全取决于你的目的,你想如何在屏幕上翻译对象。试过了,但图像不是从中心开始的,它更右一点,比中心低一点。看起来它占据了中心的左上角,可能你的布局设计有问题。请原谅我迟来的回答,但我检查了我的设计两次。。。对我来说,一切似乎都很好。你还有其他选择或建议吗?我可以把这个安卓:toXDelta=“50%p”安卓:toYDelta=“0%p”改成安卓:toXDelta=“100%”安卓:toYDelta=“100%”吗?这完全取决于你想如何在屏幕上翻译对象。我试过了,但图像不会从中间开始,它更右一点,比中间低一点。看起来它占据了中心的左上角,可能你的布局设计有问题。请原谅我迟来的回答,但我检查了我的设计两次。。。对我来说,一切似乎都很好。你还有别的选择或建议吗?