Che*_*rot 3 android android-layout
我的应用程序滚动速度超快!如何在我的Android应用程序中限制滚动视图的滚动速度?滚动可以非常快,滚动速度是没有意义的.
Ser*_*ara 11
这个线程很旧,但我会回答一个部分解决方案:限制投掷速度.随意评论,以便我可以改进我的解决方案.
如开发人员培训指南中所述:
投掷是当用户快速拖动并抬起手指时发生的滚动类型.
这就是我需要速度限制的地方.因此,在Custom ScrollView(无论是水平还是垂直)中,覆盖这样的fling方法.
@Override
public void fling(int velocityY) {
int topVelocityY = (int) ((Math.min(Math.abs(velocityY), MAX_SCROLL_SPEED) ) * Math.signum(velocityY));
super.fling(topVelocityY);
}
Run Code Online (Sandbox Code Playgroud)
我发现velocityY(在水平滚动视图中,它将是velocityX)可能在-16000和16000之间.否定只是意味着向后滚动.我还在测试这个值,我只在一台设备上测试过它.不确定旧设备/ API版本是否相同.我稍后会回来编辑这个.
(int) ((Math.min(Math.abs(velocityY), MAX_SCROLL_SPEED) ) * Math.signum(velocityY));
Run Code Online (Sandbox Code Playgroud)
我在那里做的是获得我的常量MAX_SCROLL_SPEED和原始velocityY之间的最小值,然后获得原始velocityY的符号.我们需要标志向后滚动.
最后,发回修改后的velocityY.
这是一个部分解决方案,因为如果用户持续按下滚动视图,速度将不会改变.
再次,随时提高我的答案,我还在学习.
| 归档时间: |
|
| 查看次数: |
9809 次 |
| 最近记录: |