В моей деятельности у меня есть только ImageView. В нем src — это картинка, которая намного больше экрана. Я хочу, чтобы изображение медленно прокручивалось слева направо, пока не достигло правого поля фотографии, а затем начало прокручиваться назад влево, пока не было достигнуто левое поле. Затем начните все сначала. Мне нужно, чтобы это происходило в отдельном потоке, чтобы телефон не завис, пока это происходит.
Как я могу этого добиться? Есть ли виджет, который делает это по умолчанию?
ОБНОВЛЕННЫЙ КОД // макет:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mylinear"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<ImageView
android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="center"
android:src="@drawable/rainforest" />
</RelativeLayout>
// и активность
public class MainActivity extends Activity {
Animation _translateAnimation;
RelativeLayout _relativeLoading = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
_translateAnimation = new TranslateAnimation(TranslateAnimation.ABSOLUTE, 0f, TranslateAnimation.ABSOLUTE, -100f, TranslateAnimation.ABSOLUTE, 0f, TranslateAnimation.ABSOLUTE, 0f);
_translateAnimation.setDuration(5000);
_translateAnimation.setRepeatCount(-1);
_translateAnimation.setRepeatMode(Animation.REVERSE); // REVERSE
_translateAnimation.setInterpolator(new LinearInterpolator());
_relativeLoading = (RelativeLayout) findViewById(R.id.mylinear);
_relativeLoading.startAnimation(_translateAnimation);
}
Но это выходит за рамки картины. Я имею в виду, что прокрутка идет слева направо, «подталкивая» изображение влево и показывая белый фон ниже ImageView.
Кроме того, должно ли это быть внутри потока или что-то в этом роде? Мне нужно как-то выйти из этой «прокрутки», не используя кнопку «Назад». Мне нужна кнопка поверх ImageView (кнопка должна оставаться на месте), а onClick должен запускать другое намерение
Кажется, что изображение внутри ImageView обрезается, чтобы соответствовать размеру экрана. Как я могу преодолеть это?