天天看点

Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作

  我们做listview左右滑动操作时,一般中情况下,都是像qq那样,左滑弹出操作菜单(删除、编辑),然后选择菜单操作; 这样的效果不可谓不好,算是非常经典。 另外,有少数的app,尤其是任务管理类的app,更加注重listview的操作交互,例如todolist及滴答清单,这两个app对任务的操作是直接通过滑动列表进行操作的;效果图如下:

Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作

1.  使用android studio新建项目导入该开源库:

  导入该库,可以在build.gradle中添加:

  当然,我更建议直接把该项目的library直接导入到项目中,这样会更加方便对代码进行修改。

Android 使用SwipeActionAdapter开源库实现简单列表的左右滑动操作

2.   首先,设置listview显示:

  上面的代码很简单,只是比正常使用listview多了一步:swipeactionadapter madapter = new swipeactionadapter(stringadapter); 就是在普通adapter的基础上包裹上一层swipeactionadapter。

3. 为listview的item添加滑动时的背景色

  上述代码最后,既是添加背景的代码,代码很明了,在为不同的滑动过程,添加不同的背景,该背景其实就是一个布局,例如row_bg_left_far.xml文件:

  此处,可以查看下swipedirection.java类源码:

  我们可以看出,主要的操作有四个: direction_normal_left(左滑一小段距离),direction_far_left(左滑较长距离), direction_normal_right(右滑一小段距离),direction_far_right(右滑较长距离)。 

4.  添加listview左右滑动监听:

·  public boolean hasactions(int position, swipedirection direction) : 该方法主要判断滑动方向:左滑还是右滑。

·  public boolean shoulddismiss(int position, swipedirection direction):该方法主要判断list item滑动后是否有消失的动画。

·  public void onswipe(int[] positionlist, swipedirection[] directionlist): 主要在该方法中处理滑动逻辑。

  以上,就是swipeactionadapter的基本使用方式,相信善用该库,一定会给app增添几分色彩,提高用户体验!

继续阅读