我写一些这样的代码来自动滚动图像:
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();
但是,它不起作用。谁能帮我吗?
最佳答案
您需要在UI线程上调用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();
关于java - 在Android中滚动图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6147469/