SwipeRecyclerView
SwipeRecyclerView
仿QQ侧滑的RecyclerView
使用方法
1. AndroidStudio
首先确保AndroidStudio对jcenter支持 (AndroidStudio v1.2以上默认使用jcenter,此处可以不用修改,只需修改Moudle的build.gradle即可)project的build.gradle中()
repositories {jcenter()}
在Moudle的build.gradle的dependencies中加入如下代码
compile 'com.lixiaohui8636:swipe-recycler-view:1.0'
2.eclipse
添加arr文件到libs
点击下载arr文件
示例代码
Layout配置
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=""android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#B6B6B6"><com.lixiaohui8636.widget.SwipeRecyclerView
xmlns:swipe=""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:swipeOffsetLeft="25dp"swipe:swipeDrawableChecked="@drawable/choice_selected"swipe:swipeDrawableUnchecked="@drawable/choice_unselected"swipe:swipeCloseAllItemsWhenMoveList="true"swipe:swipeMode="left"swipe:onlyOneOpenedWhenSwipe="true"/>
</LinearLayout>
JAVA
swipeListView = (SwipeRecyclerView) findViewById(R.id.example_lv_list);mLayoutManager = new LinearLayoutManager(this);swipeListView.setLayoutManager(mLayoutManager);swipeListView.addItemDecoration(new RecyclerViewItemDecoration(10));swipeListView.setAdapter(adapter);swipeListView.addOnItemTouchListener(new RecyclerItemClickListener(this, new RecyclerItemClickListener.OnItemClickListener() {@Override public void onItemClick(View view, int position) {Toast.makeText(SwipeListViewExampleActivity.this,""+position,Toast.LENGTH_LONG).show();}}));public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {private OnItemClickListener mListener;public interface OnItemClickListener {public void onItemClick(View view, int position);}GestureDetector mGestureDetector;public RecyclerItemClickListener(Context context, OnItemClickListener listener) {mListener = listener;mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {@Overridepublic boolean onSingleTapUp(MotionEvent e) {return true;}});}@Overridepublic boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) {View childView = view.findChildViewUnder(e.getX(), e.getY());if(childView==null)return true;View frontView=childView.findViewById(R.id.front);if(frontView==null)return true;if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)&&frontView.isClickable()) {mListener.onItemClick(childView, view.getChildPosition(childView));return true;}return false;}@Overridepublic void onTouchEvent(RecyclerView view, MotionEvent motionEvent) { }@Overridepublic void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {}}
GitHub
效果图
更多推荐
SwipeRecyclerView
发布评论