我想制作动画,为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);
问题在于这种布局具有动态内容,因此它的长度正在发生变化,所以它的升长百分比对我来说不起作用。谢谢你的推荐!
答案 0 :(得分:1)
yourView.animate().translateY(getResources().getDimensionPixelSize(R.dimen.animationHeight)).setDuration(yourDurationInMs);
在您的维度资源中:
<dimen name="animationHeight">-200dp</dimen>
答案 1 :(得分:0)
您使用的是哪种布局?对于动画,你应该使用相对/帧布局。