开发者

How to move an image from left to right in android

开发者 https://www.devze.com 2023-02-04 13:14 出处:网络
I\'d like to translate an image from left to right on emulator using android animation. I\'m new to android an开发者_如何学Pythonimation. How could I do that?

I'd like to translate an image from left to right on emulator using android animation. I'm new to android an开发者_如何学Pythonimation. How could I do that?

Thanks.


    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);

is one way of doing it.


Move an image from left to right and right to left by using Android TranslateAnimation

How to move an image from left to right in android

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


I am a bit late to the party but worth answering here,

case 1:

if your view is at the left side of the screen and you want to move from left edge to right edge then use this:

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

case 2: If your view is at the center of the screen and you want to move from center to right edge then use this:

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

NOTE: rootLayout is root view of your XML


Add this code R.anim folder

<?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>
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号