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);
}
})
}
我有一些滚动的源代码。
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);
}
})
}