找不到反正檢測滾動,但使用CountDownTimer似乎工作的結束:
我還需要重寫HorizontalScrollView添加回調IHorizontalScrollListener被稱爲內部HorizontalScrollView的onScrollView。 viewGroupContainer是ImageViews的容器LinearLayout。滾動視圖只能直接包含一個ViewGroup,因此我將所有圖像添加到視圖組中。 CountDownTimer是在活動中維護的引用。
hzScrollView.setScrollListener(new IHorizontalScrollListener(){
@Override
public void onScrollChanged(int l, int t, int oldl, int oldt) {
Log.i(TAG, "onScrollChanged to x="+l+" y="+t);
Log.i(TAG, "onScrollChanged from x="+oldl+ " y="+oldt);
if (scrollUpdateTimer == null)
{
scrollUpdateTimer = new CountDownTimer(30000, 1000){
@Override
public void onFinish() {
scrollUpdateTimerRunning = false;
}
@Override
public void onTick(long interval) {
Log.d(TAG, "onTick updateImageViews");
updateImageViews(hZScrollView, viewGroupContainer);
}};
}
if (scrollUpdateTimerRunning == false)
{
scrollUpdateTimerRunning = true;
scrollUpdateTimer.start();
}
}});
}
我覺得這個解決方案稍好一些。基於時間和速度來做這件事有一些好處,但我認爲這樣會更好一些。 – user1847544