如果有正偏移量,startScroll
会向右滚动。所以使用负偏移量,我假设它应该向左滚动 - 文档没有说明这一点。
然而,这不能按预期工作。右滚动不起作用,左滚动根本不起作用。
这是我的代码。
@Override
public void setSelection(int position) {
int scrollx = mScroller.getCurrX();
int offsetToScroll = position * childWidth;
if(offsetToScroll > scrollx) {
mScroller.startScroll(scrollx, 0, offsetToScroll, 0);
} else {
mScroller.startScroll(scrollx, 0, -offsetToScroll, 0);
}
requestLayout();
}
答案 0 :(得分:1)
Scroller与UI无关 - 它只是一个辅助类,有助于根据初始位置和初始速度计算位置,模拟惯性效果 - 请参阅computeScrollOffset()& getCurrX()/ getCurrY()