我写一些这样的代码来自动滚动图像:

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/

10-10 08:29