动画以200dp向上/向下移动视图

时间:2014-03-11 09:47:13

标签: android animation

我想制作动画,为Android应用程序移动200 dp的布局。到目前为止,我尝试了很多方法,无法使其适用于多种屏幕尺寸。

这是我正在使用的xml文件:

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

    <translate
        android:fillAfter="true"
        android:interpolator="@android:anim/linear_interpolator"
        android:duration="10000"
        android:fromXDelta="0%" android:toXDelta="0%"
        android:fromYDelta="0%"
        android:toYDelta="-400" />


</set>

我也尝试了这个

final TranslateAnimation moveUpAnimation = new TranslateAnimation(0, 0, dpAsPixels, 0);
        dissapearAnnimation.setDuration(20000);

问题在于这种布局具有动态内容,因此它的长度正在发生变化,所以它的升长百分比对我来说不起作用。谢谢你的推荐!

2 个答案:

答案 0 :(得分:1)

看看ViewPropertyAnimator

yourView.animate().translateY(getResources().getDimensionPixelSize(R.dimen.animationHeight)).setDuration(yourDurationInMs);

在您的维度资源中:

<dimen name="animationHeight">-200dp</dimen>

答案 1 :(得分:0)

您使用的是哪种布局?对于动画,你应该使用相对/帧布局。