Прокрутка изображения в андроид - PullRequest
1 голос
/ 27 мая 2011

Я пишу такой код для автоматической прокрутки изображения:

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();

Но это не работает. Кто-нибудь может мне помочь, пожалуйста?

Ответы [ 2 ]

1 голос
/ 27 мая 2011

Вам необходимо вызвать метод 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();
0 голосов
/ 22 августа 2011

Вы можете анимировать изображение примерно так:

Рез / аним / 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...