天天看點

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增添幾分色彩,提高使用者體驗!

繼續閱讀