我正在尝试滚动到 ScrollView 中的给定布局。我的 XML 基本上由一个实现各种 RelativeLayout 的 ScrollView 组成,我想以编程方式滚动到给定的一个。

我的 Activity 的 onCreate 方法中有以下代码:

// Defining my view
sv = (ScrollView)findViewById(R.id.reward_scroll_view);

// Get Layout's id from intent
Bundle extras = getIntent().getExtras();
if (extras != null) {
    idToScroll = extras.getInt("uiToScroll");
    sv.post(new Runnable() {
        public void run() {

            // Scroll to the passed element
            RelativeLayout layout = (RelativeLayout) findViewById(idToScroll);
            sv.smoothScrollTo(0, layout.getTop());
        }
    });
}

给定 anchor 的“自动滚动”正在工作,但没有“平滑”效果,只是对布局的原始滚动。我错过了什么?

最佳答案

您正在覆盖 post View 方法。

滚动 View 在 UI Thread 或 Post 中无法顺利工作

Look at this question

关于Android smoothScrollTo 不流畅,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27482351/

10-09 05:56