通过一些scrollX启动Horizo​​ntalScrollView

时间:2011-09-12 17:07:15

标签: android android-layout android-scrollview

如何指定一个值,当可见时,Horizo​​ntalScrollView已经被值滚动了?

我已经尝试过scrollTo方法,但它只适用于后期布局Context,我无法在特定位置启动Horizo​​ntalScrollView。

我该怎么做?

3 个答案:

答案 0 :(得分:1)

我解决了这个问题,也欢迎任何更好的解决方案:

    public void scrollWhenAvailable(final int x) {
        if (x == getScrollX())
            return;

        scrollTo(x, 0);

        postDelayed(new Runnable() {

            @Override
            public void run() {
                scrollWhenAvailable(x);
            }
        }, 10);
    }

答案 1 :(得分:0)

你可能不得不使用scrollTo,因为它完全符合你的要求,尽管你可能需要在合适的时间调用它。 (在某些onPostSomething,我猜)

答案 2 :(得分:0)

我相信对于postDelayed是不必要的,一个简单的帖子就足够了,因为它将在计算完所有视图维度后执行,你甚至可以在o​​nCreate(..)中添加它。

scrollView.post(new Runnable() {

    @Override
    public void run() {
        // TODO Auto-generated method stub
        scrollView.setScrollX(x);
    }
});

另请注意,如果SDK级别足够高,setScrollX可能就是您要使用的。