1.远程仓库引用或者本地模块引入
# Usage ### Step 1 #### Gradle ```groovy dependencies { compile 'com.android.support:recyclerview-v7:21.0.0' compile 'com.android.support:support-v4:20.+' compile "com.daimajia.swipelayout:library:1.2.0@aar" } ``` #### Maven ```xml <dependency> <groupId>com.google.android</groupId> <artifactId>support-v4</artifactId> <version>r6</version> </dependency> <dependency> <groupId>com.google.android</groupId> <artifactId>recyclerview-v7</artifactId> <version>21.0.0</version> </dependency> <dependency> <groupId>com.daimajia.swipelayout</groupId> <artifactId>library</artifactId> <version>1.2.0</version> <type>apklib</type> </dependency> ``` #### Eclipse [AndroidSwipeLayout-v1.1.8.jar](https://github.com/daimajia/AndroidSwipeLayout/releases/download/v1.1.8/AndroidSwipeLayout-v1.1.8.jar) ### Step 2 **Make sure to use the internal adapter instead of your own!** [Wiki Usage](https://github.com/daimajia/AndroidSwipeLayout/wiki/usage) ## Wiki [Go to Wiki](https://github.com/daimajia/AndroidSwipeLayout/wiki)2. 注意Listview 和Girdview 使用adapter 为继承
BaseSwipeAdapter
3.Rv 继承的adpater 为
RecyclerSwipeAdapter
4 下面就RV使用的Demo实例
package com.example.testpic.swpedemo; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.widget.Toast; import com.daimajia.swipe.SimpleSwipeListener; import com.daimajia.swipe.SwipeLayout; import com.daimajia.swipe.adapters.RecyclerSwipeAdapter; import com.example.testpic.R; import java.util.List; /** * Created by qundui on 2017/11/24. * 注意事项 * adpter 主要集成 RecyclerSwipeAdapter 不能集成普通的adapter */ public class DemoAdapter extends RecyclerSwipeAdapter<DemoAdapter.SimpleViewHolder> { Context mContext; List<String> madtas; public DemoAdapter(List<String> madtas, Context context) { this.madtas = madtas; mContext = context; } @Override public SimpleViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { return new SimpleViewHolder(LayoutInflater.from(mContext).inflate(R.layout.rv_items,viewGroup,false)); } @Override public void onBindViewHolder(final SimpleViewHolder simpleViewHolder, final int i) { simpleViewHolder.tv_data.setText(madtas.get(i)); simpleViewHolder.mSwipeLayout.setShowMode(SwipeLayout.ShowMode.LayDown);//添加策划模式 simpleViewHolder.mSwipeLayout.addSwipeListener(new SimpleSwipeListener() {//侧滑监听 @Override public void onOpen(SwipeLayout layout) { // //打开策划布局时候的搞事情....... } }); simpleViewHolder.mSwipeLayout.setOnDoubleClickListener(new SwipeLayout.DoubleClickListener() { @Override public void onDoubleClick(SwipeLayout layout, boolean surface) { Toast.makeText(mContext, "DoubleClick", Toast.LENGTH_SHORT).show();//双击侧滑布局TODO } }); simpleViewHolder.tv_add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mItemManger.closeAllItems();//关闭策划的布局 } }); simpleViewHolder.tv_del.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { mItemManger.removeShownLayouts(simpleViewHolder.mSwipeLayout); madtas.remove(i); notifyItemRemoved(i); notifyItemRangeChanged(i, madtas.size()); mItemManger.closeAllItems();//关闭策划的布局 } }); mItemManger.bind(simpleViewHolder.itemView, i);//绑定条目管理辅助类 } @Override public int getItemCount() { return madtas.size(); } //获取策划布局的资源id @Override public int getSwipeLayoutResourceId(int i) { return R.id.swipe; } public class SimpleViewHolder extends RecyclerView.ViewHolder { private SwipeLayout mSwipeLayout; private TextView tv_data; private TextView tv_add; private TextView tv_del; public SimpleViewHolder(View itemView) { super(itemView); mSwipeLayout= (SwipeLayout) itemView.findViewById(R.id.swipe); tv_data= (TextView) itemView.findViewById(R.id.tv_data); tv_add= (TextView) itemView.findViewById(R.id.tv_add); tv_del= (TextView) itemView.findViewById(R.id.tv_del); } } }4.item 布局<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:swipe="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <com.daimajia.swipe.SwipeLayout android:id="@+id/swipe" android:layout_width="match_parent" android:layout_height="wrap_content" swipe:leftEdgeSwipeOffset="0dp" swipe:rightEdgeSwipeOffset="0dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:gravity="center_horizontal" android:text="添加" android:id="@+id/tv_add" android:background="@color/aliceblue" /> <TextView android:layout_width="0dp" android:layout_weight="1" android:gravity="center_horizontal" android:layout_height="wrap_content" android:background="@color/aqua" android:text="删除" android:id="@+id/tv_del" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:gravity="center" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv_data" android:text="data" /> </LinearLayout> </com.daimajia.swipe.SwipeLayout> </LinearLayout>5 :UI界面使用(主页面布局就一个RV)package com.example.testpic.swpedemo; import android.app.Activity; import android.os.Bundle; import android.support.v7.widget.DividerItemDecoration; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import com.daimajia.swipe.util.Attributes; import com.example.testpic.R; import java.util.ArrayList; import java.util.List; /** * Created by gsc on 2017/11/24. jiangnanyizhou (QQ:373654981) */ public class Demo2 extends Activity { private RecyclerView mRecyclerView; private List<String> mdatas=new ArrayList<String>(); private DemoAdapter mDemoAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.demo2); mRecyclerView= (RecyclerView) findViewById(R.id.rv); mRecyclerView.setLayoutManager(new LinearLayoutManager(this)); mRecyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL)); mdatas=init(mdatas); mDemoAdapter = new DemoAdapter(mdatas, this); mRecyclerView.setAdapter(mDemoAdapter); mDemoAdapter.setMode(Attributes.Mode.Single);//设置单选模式 和 Single, Multiple; 和多选模式 } private List<String> init(List<String> mdatas) { for(int i=0;i<30;i++){ mdatas.add("item"+(i+1)); } return mdatas; } }