2011-08-27 80 views
0

這是佈局(XML)結構。我該如何在android中以編程方式移動視圖?

<的RelativeLayout>
          <的LinearLayout>
                    < 滾動型>
                        ... <的LinearLayout> ... < /的LinearLayout>
                    </滾動型>
          < /的LinearLayout>
          ...(按鈕)...
</RelativeLayout的>

我試圖使滾動型滾動慢(像某種滑塊),使其滾動例如小於一個像素等待10毫秒並滾動另一個px ...直到滾動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){} 
      } 

     } 
    }); 
} 

我一直在滾動型(我伸出它)和活動線程(像這樣)。如果有什麼辦法讓它慢慢移動,我會很高興知道。謝謝!

回答

2

你可以使用定時器和TimerTask類和由1更新scrollTo方法,直到到達100

https://github.com/blessenm/SlideshowDemo

上面是示出了使用上述方法的一個連續的滑塊的例子。

+0

這很完美!非常感謝!我不知道如何使用Timer。做得好! –

+0

那麼它很高興知道它的幫助。請設置答案,以便將問題從未答覆的列表中刪除。 – blessenm

0

您是否嘗試過使用smoothScrollBy

+0

是的,我嘗試過,但它沒有正確的工作方式(只是垂直)。我會仔細研究一下secon的可能性。非常感謝迄今。 –

相關問題