view.scrollTo()无效的原因 |
您所在的位置:网站首页 › scrollto不生效 › view.scrollTo()无效的原因 |
背景:在利用scroller对view进行操作是调用view.scrollTo()失效。 @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。
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |