Android翻译动画

时间:2014-08-26 05:34:59

标签: android translation android-animation

我试图通过确保对象出现在屏幕中心然后向上平移到最终位置来设置图像视图的动画。我使用的代码如下。

<set xmlns:android="http://schemas.android.com/apk/res/android">  
<translate 
      android:fromXDelta="0"
      android:fromYDelta="400"
      android:toYDelta="0"
      android:duration="800"/>
</set>

当你的设备屏幕尺寸为4.7“(galaxy s3)时,此代码有效,图像将出现在屏幕中央,然后移动到其设定位置。但是在4英寸的屏幕上(S advance或htc)欲望x)图像实际上出现在屏幕底部。

那么有没有办法确保图像位于屏幕的中心,而不管代码运行的设备是什么?提前谢谢..

2 个答案:

答案 0 :(得分:1)

使用百分比而不是值来使Animation在所有屏幕尺寸上均匀。

  • 动画应apply its transformation after it ends

      

    机器人:fillAfter =&#34;真&#34;

  • 动画从垂直中心开始,即Y

    的50%
      

    机器人:fromYDelta =&#34; 50%P&#34;

  • 动画在顶部结束,即Y的0%

      

    机器人:toYDelta =&#34; 0%P&#34;

XML:

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

    <translate
        android:duration="800"
        android:fillAfter="true"
        android:fromYDelta="50%p"
        android:toYDelta="0%p" />

</set>

答案 1 :(得分:0)

感谢您的回复..

我尝试了你的建议,我发现在4英寸屏幕上使用50%p,图像视图出现在屏幕的3 \ 4左右。但当我使用25%p然后它在中心周围。如果s向前推进它的中心并在s3中它的相对中心..我猜这取决于图像的大小。(维度)