setScrollX 函数不能正常工作

setScrollX function doesn't work well

我有一些滚动的源代码。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    TextView tv = findViewById(R.id.txtv);
    HorizontalScrollView sv = findViewById(R.id.scroll);

    sv.setScrollX(100);
}

我想将 x 滚动位置设置为 100px。 但是 setScrollX 函数不能正常工作。 有什么问题?我该怎么办?

你所要做的就是

         sv.post(new Runnable() {
            @Override
            public void run() {
                 sv.smoothScrollBy(100, 0);// x,y
            }
        });

问题是,此时实际视图尚未布局。您必须延迟滚动直到 HorizontalScrollView 布局:


    protected void onCreate(Bundle savedInstanceState) {
        ...
        HorizontalScrollView sv = findViewById(R.id.scroll);
        sv.post(new Runnable() {
            @Override
            public void run() {
                sv.smoothScrollBy(100, 0);
            }
        })
    }