Я пишу такой код для автоматического прокрутки изображения:
scroll=(ImageView)findViewById(R.id.pesancredit);
Thread t = new Thread(){
public void run(){
int y = scroll.getScrollY();
int x = scroll.getScrollX();
while(y<1600){
scroll.scrollTo(x, y);
y++;
try {
sleep(1000/12);
} catch (InterruptedException e) {
}
}
}
};
t.start();
Но это не сработает. Кто-нибудь может мне помочь?
Вам нужно вызвать метод scrollTo
в потоке пользовательского интерфейса. Для этого вам нужно использовать обработчик. Что-то вроде этого должно работать:
// declare a class field:
final Handler h = new Handler();
// later:
scroll=(ImageView)findViewById(R.id.pesancredit);
Thread t = new Thread(){
public void run(){
int y = scroll.getScrollY();
int x = scroll.getScrollX();
while(y<1600){
// need final values to create anonymous inner class
final int X = x;
final int Y = y;
h.post(new Runnable() {
public void run() {
scroll.scrollTo(X, Y);
}
});
y++;
try {
sleep(1000/12);
} catch (InterruptedException e) {
}
}
}
};
t.start();
Вы можете анимировать изображение примерно так:
Рез/аним/slide_out_left.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="-300%p"
android:duration="6000"/>
</set>
то в вашей деятельности:
scroll=(ImageView)findViewById(R.id.pesancredit);
scroll.setImageBitmap(yourImage);
Animation slideOutLeft = AnimationUtils.LoadAnimation(this, R.anim.slide_outleft);
scroll.startAnimation(slideOutLeft);
проверить это. http://developer.android.com/guide/topics/resources/animation-resource.html