Fox*_*chu 12 android scrollview
上下文:我有一个ScrollView可能会在投掷期间将子项添加到其内容视图中.由于在添加这些子项之前将fling配置为ScrollView内容的高度,如果添加了子项,则fling会自行停止(并且由于过度滚动而实际上向后滚动一点),即使它没有到达内容的底部.
我可以重新开始使用#fling(int velocity),但我无法想办法获得当前的飞行速度或停止当前的飞行.有任何想法吗?
要从提示中回答您的问题:
查看ScrollView源代码,它使用OverScroller来处理fling事件.有两种方法可以解决这个问题:
public float getCurrVelocity();使用反射永远不是理想的,因为你不得不担心它跨越Android版本,但一个简单的孤立使用可以相对有效.像这样的东西:
@Override
public void fling(int velocityY)
{
// Pass through fling to parent
super.fling(velocityY);
// Keep track of velocity using our own Overscoller instance
mOurOverscroller = mScroller.fling(mScrollX, mScrollY, 0, velocityY, 0, 0, 0,
Math.max(0, bottom - height), 0, height/2);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2471 次 |
| 最近记录: |