如何指定一个值,当可见时,HorizontalScrollView已经被值滚动了?
我已经尝试过scrollTo方法,但它只适用于后期布局Context,我无法在特定位置启动HorizontalScrollView。
我该怎么做?
答案 0 :(得分:1)
我解决了这个问题,也欢迎任何更好的解决方案:
public void scrollWhenAvailable(final int x) {
if (x == getScrollX())
return;
scrollTo(x, 0);
postDelayed(new Runnable() {
@Override
public void run() {
scrollWhenAvailable(x);
}
}, 10);
}
答案 1 :(得分:0)
你可能不得不使用scrollTo,因为它完全符合你的要求,尽管你可能需要在合适的时间调用它。 (在某些onPostSomething,我猜)
答案 2 :(得分:0)
我相信对于postDelayed是不必要的,一个简单的帖子就足够了,因为它将在计算完所有视图维度后执行,你甚至可以在onCreate(..)中添加它。
scrollView.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
scrollView.setScrollX(x);
}
});
另请注意,如果SDK级别足够高,setScrollX可能就是您要使用的。