为了账号安全,请及时绑定邮箱和手机立即绑定

this.post(new Runnable() {

public void run() {

SlidingMenu.this.smoothScrollTo(mMenu.getLayoutParams().width, 0);

}

});

在这一句的外面套一个this.post(runnable),在runnable中实现,就可以了,

smoothScrollTo方法要等到界面显示完毕才能有效,而view.post方法也是在界面刷新完毕之后才执行的。 如果直接执行smoothScrollTo,在源码中smoothScrollTo又会去调用smoothScrollBy,smoothScrollBy方法中有一句if(!mScroller.isFinished())mScroller.abortAnimation();,这句话什么意思呢,mScroller.isFinished()验证的是拖动有没有完成,如果完成了,返回false,这里加了一个!号,就是表示拖动未完成,如果在view.post方法中执行的smoothScrollTo,!mScroller.isFinished()的结果为false,也就是mScroller.isFinished()为true,true表示拖动的动作还没有执行完成,就不会执行mScroller.abortAnimation();来丢掉动画了,以上是我个人对以上的理解,里面还有很多很迷茫的地方,希望有大牛为我解答,或者我说的有误,请为我指出,共同进步,谢谢


正在回答

0 回答

举报

0/150
提交
取消
QQ5.0侧滑菜单
  • 参与学习       62531    人
  • 解答问题       295    个

本教程将带领大家通过自定义控件实现QQ5.0侧滑菜单

进入课程
意见反馈 帮助中心 APP下载
官方微信