How to move an image from left to right in android

后端 未结 4 1406
余生分开走
余生分开走 2020-11-30 00:56

I\'d like to translate an image from left to right on emulator using android animation. I\'m new to android animation. How could I do that?

Thanks.

相关标签:
4条回答
  • 2020-11-30 01:08

    Move an image from left to right and right to left by using 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

    0 讨论(0)
  • 2020-11-30 01:10
        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.

    0 讨论(0)
  • 2020-11-30 01:19

    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 讨论(0)
  • 2020-11-30 01:26

    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

    0 讨论(0)
提交回复
热议问题