Как я могу программно переместить вид в Android? - PullRequest
0 голосов
/ 28 августа 2011

Вот структура макета (XML).

<<b> ScrollView >... ... ... (кнопки) ...

Я пытаюсь сделать прокрутку ScrollView медленной (как какой-то ползунок), чтобы она прокручивала, например, один пиксель, а затем ожидал 10 миллисекунд, и прокручивал другой пиксель ..., пока он не прокрутится100px.Если я вызываю scrollBy (100,0) (например), он просто переключается в указанную позицию, но между ними нет видимого движения.

public void move(int x, int y)
{
    Activity context = (Activity)getContext();

    context.runOnUiThread(new Runnable() 
    {   
        @Override
        public void run() 
        {
            for(int i=0;i<100;i++)
            {
                scrollBy(-1,0); try{ Thread.sleep(20); } catch(Exception e){}
            }

        }
    });
}

Я пробовал потоки (как это) в ScrollView(я продлил его) и активность.Если есть какой-нибудь способ сделать это медленно, я был бы рад узнать.Спасибо!

Ответы [ 2 ]

2 голосов
/ 28 августа 2011

Вы можете использовать класс Timer и TimerTask и обновлять метод scrollTo на 1, пока не достигнете 100.

https://github.com/blessenm/SlideshowDemo

Выше приведен пример непрерывного слайдера, который показывает использованиевышеуказанные методы.

0 голосов
/ 28 августа 2011

Вы пробовали использовать smoothScrollBy?

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