所以我在Play商店有一个教程应用程序。
在教程活动中,我在textview
内只有一个scrollview
。 textview
非常庞大,可能包含超过5000个字符。我想添加一个自动滚动的选项,因为滚动太多了我的手指,我认为用户也可能会有同样的感觉,因为我收到了一些关于此功能的请求。
再次,我希望用户点击菜单按钮,单击自动滚动选项,文本应该从任何地方开始顺利滚动,直到结束。
我发现了这个:
public void scrollRight(final ScrollView h){
new CountDownTimer(10000, 25) {
public void onTick(long millisUntilFinished) {
h.scrollBy(1,0);
}
public void onFinish() {
}
}.start();
}
但我对此有些怀疑。这会使用户界面保持反应吗?我的意思是即使它是自动滚动我希望用户能够通过投掷他们想要的所有来上下移动,而它仍然是自动滚动。
此外,在某些设备上可能会有点紧张,如何使滚动顺畅?
在它上面跑了十秒钟,但我需要它无限期地运行。有没有办法计算滚动所需的最长时间?或者只是使用大量数字同样可以正常工作?说100万毫秒?
最终我让用户设置滚动速度。但是我认为一旦我得到基本的自动滚动功能就会很容易。
答案 0 :(得分:1)
这与我尝试过的东西很相似,但我已经用一个处理程序(可以根据你的意愿运行)完成它。
我写的原帖是here。
关于允许用户进行交互,您可以在用户触摸时临时禁用自动滚动,并在用户停止后重新启用它(可能使用setOnTouchListener)。