如何在没有动画的情况下滚动水平滚动视图

10

我正在使用fullScroll()scrollTo()函数进行滚动,但是它是有动画效果的,我需要在没有用户观察到的情况下实现滚动。

有没有解决这个问题的方法?

hScrollView.post(new Runnable() {
    @Override
    public void run() {
        hScrollView.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
    }
});

尝试使用hScrollView.fullScroll(ScrollView.FOCUS_LEFT); - Dheeresh Singh
谢谢,但我之前尝试过了,问题还是一样的! - user1116209
但是动画有什么问题吗?我认为用户体验会更好,如果他们看到滚动而不是突然跳转到另一个位置。 - Aleks G
2个回答

7

使用这个

// Disable the animation First
hScrollView.setSmoothScrollingEnabled(false);
// Now scroll the view
hScrollView.fullScroll(HorizontalScrollView.FOCUS_RIGHT);
// Now enable the animation again if needed
hScrollView.setSmoothScrollingEnabled(true);

1

在运行Runnable命令之前,您可以使用hScrollView.setSmoothScrollingEnabled(false);,这将为您提供所需的输出。

        // Set smooth scrolling to false
        hScrollView.setSmoothScrollingEnabled(false);

        // Then call the fullScroll method
        hScrollView.post(new Runnable() {
            @Override
            public void run() {
                hScrollView.fullScroll(View.FOCUS_RIGHT);
            }
        });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接