Android Autoscroll Imageview
In my activity I have just an ImageView. In it, the src is a picture that is a lot bigger than the screen. I want the picture to scroll slooooowly from left to right until it reach
Solution 1:
So, the solution to my problem is here (for all of the new android developers, like me, who might need this for their apps):
publicclassMainActivityextendsActivity {
Animation _translateAnimation;
@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
_translateAnimation = newTranslateAnimation(TranslateAnimation.ABSOLUTE, 0f, TranslateAnimation.ABSOLUTE, -300f, TranslateAnimation.ABSOLUTE, 0f, TranslateAnimation.ABSOLUTE, 0f);
_translateAnimation.setDuration(8000);
_translateAnimation.setRepeatCount(-1);
_translateAnimation.setRepeatMode(Animation.REVERSE); // REVERSE
_translateAnimation.setInterpolator(newLinearInterpolator());
ImageViewimg= (ImageView) findViewById(R.id.img);
img.startAnimation(_translateAnimation);
}
}
and the layout:
<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/global_relative"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center"android:orientation="vertical"
><ScrollViewandroid:layout_width="fill_parent"android:layout_height="wrap_content" ><ImageViewandroid:id="@+id/img"android:layout_width="600dp"android:layout_height="wrap_content"android:adjustViewBounds="true"android:background="@drawable/rainforest"android:scaleType="center"android:src="@drawable/rainforest613x490" ></ImageView></ScrollView></RelativeLayout>
just make sure your image is big/high enough to fit the screen, and is (+300dp) wider than the screen width (or adjust the code above).
Happy coding ;)
Solution 2:
Exemple :
private Animation _translateAnimation;
private ImageView _image;
_image = (ImageView)findViewById(R.id.yourimage);
_translateAnimation = newTranslateAnimation(TranslateAnimation.ABSOLUTE, 0f, TranslateAnimation.ABSOLUTE, 100f, TranslateAnimation.ABSOLUTE, 0f, TranslateAnimation.ABSOLUTE, 0f);
_translateAnimation.setDuration(10000);
_translateAnimation.setRepeatCount(-1);
_translateAnimation.setRepeatMode(Animation.REVERSE);
_translateAnimation.setInterpolator(newLinearInterpolator());
_image.setAnimation(_translateAnimation);
This will make _linearLoading translate slowly right and left and right and left...
More duration = more slowly
TranslateAnimation.ABSOLUTE = Work with the position of the image TranslateAnimation.RELATIVE_TO_PARENT = Work with the parent layout ...
The method TranslateAnimation(start x, end x, start y, end y)
play with that
Post a Comment for "Android Autoscroll Imageview"