How to move an image from left to right in android
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
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>
精彩评论