首先让我原谅这个问题,我知道很多其他人在这里问过这个问题,但我很蠢,所以没有找到任何正确的答案。我有一个ScrollView和许多TextViews和ImageViews。我想在屏幕上滚动所有这些内容,就像电影的一样。我发现了这种方法。它工作但只有几秒钟然后停止。:
public void scrollRight(final ScrollView h){
new CountDownTimer(2000, 1) {
public void onTick(long millisUntilFinished) {
h.scrollTo(0,(int) (2000-millisUntilFinished)/25);
}
public void onFinish() {
}
}.start(); }
答案 0 :(得分:1)
您可以使用滚动条创建滚动的平滑动画。 这里有一个例子: Android: Scroller Animation?
基本上,您需要做的就是从0开始滚动到列表末尾,并使用滚动值调用列表的scrollTo。
另一种选择是创建一个每次调用scrollBy的计时器。
编辑:同样,你创建CountDownTimer的方式使它运行2000毫秒,并且每1ms调用onTick。如果您希望它运行更长时间,只需增加总时间。我还建议使用更大的间隔 - 1ms是经常用于显示目的。试试这个:
new CountDownTimer(10000, 25) {
public void onTick(long millisUntilFinished) {
h.scrollBy(1,0);
}
答案 1 :(得分:0)
您也可以使用ObjectAnimator来实现这一目标:
ObjectAnimator.ofInt(view, "scrollY", 0, view.getBottom).setDuration(1000).start;