setScrollX函数不能很好地工作

时间:2017-12-04 17:23:04

标签: java android android-view android-scrollview horizontalscrollview

我有一些滚动的源代码。

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功能效果不佳。 问题是什么?我该怎么办?

2 个答案:

答案 0 :(得分:1)

问题是,在那时,实际的观点尚未确定。您必须延迟滚动,直到HorizontalScrollView布局:


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

答案 1 :(得分:0)

所有你需要做的就是

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