android - 在 ScrollView 中创建类似学分的平滑滚动

标签 android text scroll

所以我在 Play 商店中有一个教程应用程序。

在教程 Activity 中,我只是在 scrollview 中有一个 textviewtextview 很大,可能包含超过 5000 个字符。我想为自动滚动添加一个选项,因为滚动太多会磨伤我的手指,而且我认为用户可能也会有同样的感觉,因为我收到了一些关于此功能的请求。

再一次,我希望用户点击菜单按钮,单击“自动滚动”选项,然后文本应该开始平滑滚动,从它所在的位置一直滚动到最后。

我发现了这个:

ScrollView autoscrolling

public void scrollRight(final ScrollView h){
  new CountDownTimer(10000, 25) { 
     public void onTick(long millisUntilFinished) { 
        h.scrollBy(1,0);
     }
     public void onFinish() { 

     } 
  }.start();
}

但我对此有一些疑问。这会让用户界面保持 react 吗?我的意思是,即使它是自动滚动的,我也希望用户能够通过随心所欲地向上或向下移动,它仍然是自动滚动的。

此外,这在某些设备上可能会有点抖动,如何使滚动平滑?

上面它运行十秒,但我需要它无限期地运行。有没有办法计算滚动所需的最长时间?或者简单地使用一个大数字也同样有效?比如说 100 万毫秒?

最后我会让用户设置滚动速度。但我认为,一旦我掌握了基本的自动滚动功能,这将很容易。

最佳答案

这与我尝试过的非常相似,但我是使用处理程序完成的(它可以运行任意长的时间)。

我写的原帖是here .

关于允许用户交互,您可以在用户触摸时临时禁用自动滚动,并在用户停止后重新启用(可能使用 setOnTouchListener)。

关于android - 在 ScrollView 中创建类似学分的平滑滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20802949/

相关文章:

android - 针对慢速网络连接优化 Android 应用

css - 我可以来来去去作为一个卷轴有条件

python - 以编程方式将 LaTeX 代码转换/解析为纯文本

android - 检查 RecyclerView 是否需要滚动

javascript - 使用 JQuery 或 Javascript,如何绑定(bind)点击函数来控制元素/div 的滚动?

安卓唤醒 Action

使用 MediaCodec 创建的 Android 旋转表面

android - 无法解析方法 get(int)

vim - 使用 Vim 删除单个换行符但保留空行

文本分类/机器学习 : do I also need a 'Default' categorie?