目前我是设置两个按钮,可以根据自己的需求继续增加 实现步骤如下:
第一步 添加依赖
//仿苹果滑动删除
implementation 'com.github.anzaizai:EasySwipeMenuLayout:1.1.4'
第二步:添加一个常用的 RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/transparent" />
第三步:新建一个适配器自定义布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.guanaj.easyswipemenulibrary.EasySwipeMenuLayout
android:id="@+id/es"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentView="@+id/content"
app:rightMenuView="@+id/right">
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingLeft="20dp"
android:paddingTop="15dp"
android:paddingBottom="15dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/item_address_model"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/shape_round_gray"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="默认"
android:textColor="@color/white"
android:textSize="13sp"
android:textStyle="bold"
android:visibility="gone" />
<TextView
android:id="@+id/item_address_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:text="张三"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/item_address_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:text="张三"
android:textColor="@color/xian"
android:textSize="14sp"
android:textStyle="normal" />
</LinearLayout>
<ImageView
android:id="@+id/item_ima_address_eit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|right"
android:padding="20dp"
android:src="@mipmap/a_address_edit" />
</FrameLayout>
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@color/xian_news" />
</LinearLayout>
<LinearLayout
android:id="@+id/right"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/right_menu_1"
android:layout_width="60dp"
android:layout_height="match_parent"
android:background="@android:color/darker_gray"
android:gravity="center"
android:text="设为\n默认"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="normal" />
<TextView
android:id="@+id/right_menu_2"
android:layout_width="60dp"
android:layout_height="match_parent"
android:background="@color/red"
android:gravity="center"
android:text="删除"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="normal" />
</LinearLayout>
</com.guanaj.easyswipemenulibrary.EasySwipeMenuLayout>
</LinearLayout>
第四步 适配器代码就是常规的适配器 只需要写进去添加
mAdapter.addChildClickViewIds(
R.id.content,
R.id.right_menu_1,
R.id.right_menu_2,
R.id.item_ima_address_eit
)
第五步 点击事件
mAdapter.setOnItemChildClickListener { _, view, position ->
when (view.id) {
R.id.content -> {
}
R.id.right_menu_1 -> {
}
R.id.right_menu_2 -> {
showDialog("删除", "确定要删除地址么?", position)
}
}
}