2013-01-06 30 views
0

我正在使用this答案在我的應用中實現一個選取框textView,但我希望能夠更改其速度,而無需設置Scroller的持續時間。 如果我設置了Scroller的持續時間,那麼文本的速度將取決於有多少文本,但我想要的是速度是恆定的。 有沒有辦法做到這一點? 如果沒有,是否有任何其他方式來使文本自動滾動在一定的速度?如何更改startScroll()的速度

回答

2

您誤解了代碼。

您必須設置滾動條的持續時間,否則它將如何知道需要多少時間。

所以現在我們必須使滾動器的速度保持不變。

velocity = distance/duration

因此,爲了使該常數的方式是使時間距離

的功能對於如。 IF duration =2* distance

velocity= 2

等。

從您發佈

 int distance = scrollingLen - (getWidth() + mXPaused); 
    int duration = (new Double(mRndDuration * distance * 1.00000 
           /scrollingLen)).intValue(); 

現在duration= distance * constant /scrollingLen

所以只是刪除scrollingLen,這將是距離的純函數給你等速

duration= distance * constant /anotherConstant 
+0

我的代碼完全忽略了!非常感謝,我不知道爲什麼我沒有想到這一點! – TheWizKid95