我正在尝试动画+淡入动画到imageView。 我希望它从屏幕外滑动到屏幕中间。 这就是我的尝试:
活动xml:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true">
<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/city"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="false"
android:scaleType="fitEnd"
android:id="@+id/cityImage" />
</RelativeLayout>
move.xml
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">
<translate
android:fromYDelta="-70%p"
android:toYDelta="0%p"
android:duration="1500" />
</set>
移动功能:
public void move(){
ImageView image = (ImageView)findViewById(R.id.cityImage);
Animation animation1 = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.move);
image.startAnimation(animation1);
}
正如你所看到的那样,我认为javascript的做法是-70%p,但它似乎不适用于android。你可以用另一种方式向我推荐吗?
答案 0 :(得分:3)
删除你的move.xml
然后加入
public void move(){
ImageView img_animation = (ImageView) findViewById(R.id.cityImage);
TranslateAnimation animation = new TranslateAnimation(600.0f, 0.0f, 0.0f, 0.0f);
animation.setDuration(5000);
img_animation.startAnimation(animation);
}
从右移动到中间
Omg 600太多了,只需使用100 in inXdelta