【发布时间】:2015-10-14 06:02:13
【问题描述】:
所以我在 Play 商店中有一个教程应用。
在教程活动中,我只是在 scrollview 中添加了一个 textview。 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 万毫秒?
最终我会让用户设置滚动速度。但我认为,一旦我掌握了基本的自动滚动功能,这将很容易。
【问题讨论】: