scrollTo总是有效,smoothScrollTo有时只有

时间:2013-09-07 12:00:35

标签: android

我已经将Horizo​​ntalScrollView子类化,以便我可以有一些自定义滚动行为,但是发现smoothScrollTo并不总是触发。 我必须使用以下代码解决此问题:

smoothScrollTo(x, y);
scrollTo(x, y);

这确保即使smoothScrollTo不起作用也实际完成滚动,因为scrollTo每次都有效。为什么会这样?我怎样才能让smoothScrollTo每次都能工作?

2 个答案:

答案 0 :(得分:4)

试试这个:

mScrollView.post(new Runnable() {
        @Override
        public void run() {
            mScrollView.smoothScrollTo(x, y);
        }
    });

答案 1 :(得分:0)

以下代码可以使用:

            final int scrollposition = Math.round(hr/24.0f * 1440f);

            final ScrollView sv = (ScrollView)findViewById(R.id.graphScrollView);
            //sv.smoothScrollTo(0, scrollposition);

            sv.post(new Runnable() {
                @Override
                public void run() {
                    sv.smoothScrollTo(0, scrollposition);
                }
            });

<强>原因: 在运行底层代码之前,它将等待滚动视图发布。