SwipeListView 프레임 워 크 에서 위 챗\QQ 슬라이딩 삭제 효과 구현

QQ 또는 위 챗 이 미 끄 러 졌 습 니 다.최근 연락처 목록 에서 현재 선택 한 연락 처 를 삭제 할 수 있 습 니 다.이 기능 은 매우 좋 습 니 다.
그냥 해 봤 어 요.사실은 오픈 소스 프레임 워 크 SwipeListView 를 사 용 했 습 니 다.
 
SwipeListView 는 일반적인 ListView 와 사용 방식 이 다 르 지 않 고 특수 기능 만 추 가 했 을 뿐이다. 

<com.fortysevendeg.swipelistview.SwipeListView
  xmlns:swipe="http://schemas.android.com/apk/res-auto"
  android:id="@+id/example_lv_list"
  android:listSelector="#00000000"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  swipe:swipeFrontView="@+id/front"
  swipe:swipeBackView="@+id/back"
  swipe:swipeActionLeft="[reveal | dismiss]"
  swipe:swipeActionRight="[reveal | dismiss]"
  swipe:swipeMode="[none | both | right | left]"
  swipe:swipeCloseAllItemsWhenMoveList="[true | false]"
  swipe:swipeOpenOnLongPress="[true | false]"
  swipe:swipeAnimationTime="[miliseconds]"
  swipe:swipeOffsetLeft="[dimension]"
  swipe:swipeOffsetRight="[dimension]"
  /> 


•swipeFrontView-istView Item 이 정상적으로 표시 하 는 컨트롤 Id 이 며,Item 의 레이아웃 파일 에 있 는 컨트롤 id 와 같 아야 합 니 다.
•swipeBackView-손가락 이 미 끄 러 질 때 보 이 는 것 은 FrontView 뒤에 숨 어 있 으 며,item 레이아웃 파일 의 컨트롤 Id 와 같 아야 합 니 다.
•swipeAction Left-왼쪽 미 끄 러 운 동작,기본 reveal,즉 BackView 를 표시 하고 dismiss,choice 가 응답 하 는 방법 을 촉발 합 니 다.
•swipeAction Right-우 활 동작,기타 동상
•swipeMode-Default:'both'설정 왼쪽,오른쪽,모두 지원
•swipeCloseAllItems WhenMoveList-listview 를 굴 릴 때 펼 쳐 진 모든 Item 을 닫 습 니 다.false 로 설정 하지 않 는 것 이 좋 습 니 다.item 때 문 입 니 다.   
•재 활용,false 에 문제 가 있 습 니 다.
•swipeOpenOnLongPress-Default:'true'장 시간 트리거 디 스 플레이
•swipeAnimationTime-애니메이션 시간 길이
•swipeOffset Left-left offset 왼쪽 오프셋
•swipeOffset Right-right offset 오른쪽 오프셋

   mSwipeListView = (SwipeListView) findViewById(R.id.id_swipelistview); 
  mAdapter = new DataAdapter(this, mDatas , mSwipeListView); 
  mSwipeListView.setAdapter(mAdapter); 
 
  mSwipeListView.setSwipeListViewListener(new BaseSwipeListViewListener() 
  { 
   @Override 
   //  BaseSwipeListViewListener       
   }; 
사용 방식 은 간단 하고 일반적인 ListView 와 비슷 해서 더 말 할 필요 가 없다. 
ListView 의 Item 에서 단일 요 소 를 삭제 하려 면 Adapter 에서 button 의 클릭 이 벤트 를 처리 하거나 리 셋 을 써 서 Activity 로 전송 해 야 합 니 다.
Adapter 에서 처리 하 는 방식 의 코드 를 보 여 드 리 겠 습 니 다. 

 @Override 
 public View getView(final int position, View convertView, ViewGroup parent) 
 { 
  convertView = mInflater.inflate(R.layout.list_item, null); 
 
  TextView tv = (TextView) convertView.findViewById(R.id.id_text); 
  Button del = (Button) convertView.findViewById(R.id.id_remove); 
  tv.setText(mDatas.get(position)); 
  del.setOnClickListener(new OnClickListener() 
  { 
   @Override 
   public void onClick(View v) 
   { 
    mDatas.remove(position); 
    notifyDataSetChanged(); 
     /** 
     *   SwipeListView 
     *      ,      item     
     *       onListChange   ,      
     */ 
    mSwipeListView.closeOpenedItems(); 
   } 
  }); 
   
  return convertView; 
 }
원본 다운로드:https://github.com/honjane/SwipeListViewDemo
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기