如何在android中从左到右移动图像

时间:2011-01-14 10:08:35

标签: android animation

我想使用Android动画在模拟器上从左到右翻译图像。我是android动画的新手。我怎么能这样做?

感谢。

4 个答案:

答案 0 :(得分:61)

    ll = new LinearLayout(this);
    ll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    ll.setOrientation(LinearLayout.VERTICAL);

    tv = new TextView(this);
    tv.setText("Animation");

    moveLefttoRight = new TranslateAnimation(0, 200, 0, 0);
    moveLefttoRight.setDuration(1000);
    moveLefttoRight.setFillAfter(true);

    button = new Button(this);
    button.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    button.setText("PressMe");
    button.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            tv.startAnimation(moveLefttoRight);
        }

    });

    ll.addView(tv);
    ll.addView(button);
    setContentView(ll);

是这样做的一种方式。

答案 1 :(得分:33)

使用Android TranslateAnimation

从左到右移动图像

enter image description here

ImageView img_animation = (ImageView) findViewById(R.id.img_animation);

    TranslateAnimation animation = new TranslateAnimation(0.0f, 400.0f,
            0.0f, 0.0f);          //  new TranslateAnimation(xFrom,xTo, yFrom,yTo)
    animation.setDuration(5000);  // animation duration 
    animation.setRepeatCount(5);  // animation repeat count
    animation.setRepeatMode(2);   // repeat animation (left to right, right to left )
    //animation.setFillAfter(true);      

    img_animation.startAnimation(animation);  // start animation 

you can find more details from here

答案 2 :(得分:0)

我参加聚会有点晚了,但是在这里值得回答

情况1:

如果视图位于屏幕的左侧,并且您要从左边缘移动到右边缘,请使用以下方法:

imageView.animate()
            .translationX(((rootLayout.width - (imageView.width))).toFloat())
            .setInterpolator(AccelerateInterpolator()).duration = 1500

情况2: 如果您的视图位于屏幕的中心,并且您要从中心移到右边缘,请使用以下方法:

imageView.animate()
            .translationX(((rootLayout.width - (imageView.width)) / 2).toFloat())
            .setInterpolator(AccelerateInterpolator()).duration = 1500

注意: rootLayout是XML的根视图

答案 3 :(得分:-2)

添加此代码R.anim文件夹

<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillAfter="true">

<translate
    android:fromXDelta="0%p"
    android:toXDelta="100%p"
    android:duration="800" />
</set>