view.scrollTo()无效的原因
2016-05-21 05:42
591 查看
背景:在利用scroller对view进行操作是调用view.scrollTo()失效。
mScroller.startScroll(mScroller.getFinalX(), mScroller.getFinalY(), (int) distanceX, 0,200);
在这里有一个延时200ms的操作,我暂时理解为在view没有完成这200ms的动作之前,scrollTo()方法是无效的,于是有了上面的postDelayed。
@Override public boolean onTouchEvent(MotionEvent event) { Log.v("SlindingDeleteView", String.valueOf(5)); // TODO Auto-generated method stub if (event.getAction()==MotionEvent.ACTION_UP || event.getAction()==MotionEvent.ACTION_CANCEL) { if (Math.abs(getScrollX())>=width/8) { postDelayed(new Runnable() { @Override public void run() { // TODO Auto-generated method stub scrollTo(width/4, 0); } },200); }else{ postDelayed(new Runnable() { @Override public void run() { // TODO Auto-generated method stub scrollTo(0, 0); } },200); } } return gesturedetector.onTouchEvent(event); }一开始认为是up事件被拦截了,然而debug之后发现并没有拦截,查阅相关资料发现了罪魁祸首:
mScroller.startScroll(mScroller.getFinalX(), mScroller.getFinalY(), (int) distanceX, 0,200);
在这里有一个延时200ms的操作,我暂时理解为在view没有完成这200ms的动作之前,scrollTo()方法是无效的,于是有了上面的postDelayed。
相关文章推荐
- 山寨Besiege(五)车轮
- 无
- LeetCode 48. Rotate Image(旋转)
- LeetCode 47. Permutations II(排列)
- LeetCode 46. Permutations(排列)
- python基础
- python基础
- LeetCode 45. Jump Game II(跳格子)
- 山寨Besiege(四)操控轴
- BigBlueButton简介
- Moodle简介
- Bigbluebutton服务执行过程及相关配置文件
- LeetCode 44. Wildcard Matching(模糊匹配)
- 大数据和Android
- Mvp架构的使用
- 【三分法/数学公式】B君的圆锥【51nod】【BSG白山极客挑战赛】
- Bigbluebutton中文乱码问题
- Bigbluebutton安装过程
- [置顶] Android自定义View(二、深入解析自定义属性)
- Android自定义View(二、深入解析自定义属性)