ScrollView有一个设置x和y滚动偏移的方法,但没有获取当前偏移的方法(我真正感兴趣的是y偏移,因为ScrollView只支持垂直滚动).我没有看到任何可以在超类中工作的方法,并为内容视图尝试了getTop(),它始终为零.我错过了什么吗?
Cha*_*ley 54
在ScrollView上调用getScrollY().有关详细信息,请参阅此处:http://developer.android.com/reference/android/view/View.html#getScrollY%28%29
小智 9
如果您确定在使用getScrollY()或getTop()之后应该获得一些值,请尝试将这些方法放入
yourScroolView.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(),"Current Y is : "+getScrollY,Toast.LENGTH_SHORT).show();
}
});
Run Code Online (Sandbox Code Playgroud)
现在它应该工作.根据我对这种方法的理解,它只会在绘制布局后运行.这可能是你之前保持0的原因之一.希望能帮助到你.
小智 7
你为什么不尝试这样的事情?
targetScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
int scrollX = targetScrollView.getScrollX();
Log.d(TAG, "scrollX: " + scrollX);
}
});
Run Code Online (Sandbox Code Playgroud)
怎么样:computeHorizontalScrollOffset()和computeVerticalScrollOffset().
| 归档时间: |
|
| 查看次数: |
66442 次 |
| 最近记录: |