今天从网上找到一个第三方控件swipemenulistview,封装好的一个控件,可以实现列表的左右滑动,模仿qq的列表效果下载地址为:https://github.com/baoyongzhang/SwipeMenuListView我们下载好之后,将这个项目导入到我们的工程当中 ...
今天从网上找到一个第三方控件swipemenulistview,封装好的一个控件,可以实现列表的左右滑动,模仿qq的列表效果
下载地址为:https://github.com/baoyongzhang/SwipeMenuListView
我们下载好之后,将这个项目导入到我们的工程当中去,
我个人感觉比较重要的是SwipeMenuLayout这个类,在这个类当中重写了好多方法,才能实现我们列表选项的左右滑动。
@Override public void computeScroll() { if (state == STATE_OPEN) { if (mOpenScroller.computeScrollOffset()) {// 要是没有滚动完 就启动滚动的动画 swipe(mOpenScroller.getCurrX()); postInvalidate();// //必须调用该方法,否则不一定能看到滚动效果 } } else { if (mCloseScroller.computeScrollOffset()) { swipe(mBaseX - mCloseScroller.getCurrX()); postInvalidate(); } } } public void smoothCloseMenu() { state = STATE_CLOSE;// mBaseX = -mContentView.getLeft();// mCloseScroller.startScroll(0, 0, mBaseX, 0, 350);// 滚动的final位置 postInvalidate(); } // //////////////////////////////////////////// // 创建open动画 public void smoothOpenMenu() { state = STATE_OPEN; mOpenScroller.startScroll(-mContentView.getLeft(), 0, mMenuView.getWidth(), 0, 350); postInvalidate(); } // 创建close动画 public void closeMenu() { if (mCloseScroller.computeScrollOffset()) { mCloseScroller.abortAnimation(); } if (state == STATE_OPEN) { state = STATE_CLOSE; swipe(0); } } public void openMenu() { if (state == STATE_CLOSE) { state = STATE_OPEN; swipe(mMenuView.getWidth()); } }
原标题:使用swipemenulistview实现列表的左右滑动
关键词:ip
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。