Android 仿QQ侧滑item点击删除按钮

1.首先用RecyclerView进行正常的书写

2.添加依赖:

compile'com.yanzhenjie:recyclerview-swipe:1.1.4'

3.把RecyclerView换成

SwipeMenuRecyclerView

xml中的布局

<com.yanzhenjie.recyclerview.swipe.SwipeMenuRecyclerView    android:id="@+id/cmm_recyc"    android:layout_width="match_parent"    android:layout_height="match_parent"    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

4.红色框里的是重点,还有一定要写在适配器上面

5.

// 设置菜单监听器。SwipeMenuCreatorswipeMenuCreator =new SwipeMenuCreator() {// 创建菜单:    @Override    public void onCreateMenu(SwipeMenu swipeLeftMenu, SwipeMenu swipeRightMenu,int viewType) {int width = getResources().getDimensionPixelSize(R.dimen.dp_70);int height = ViewGroup.LayoutParams.MATCH_PARENT;        SwipeMenuItem deleteItem =new SwipeMenuItem(CommoditManagementActivity.this)                .setBackground(R.drawable.selector_red)                .setImage(R.mipmap.ic_action_delete)                .setTextColor(Color.WHITE)                .setText(R.string.DeleteText)                .setWidth(width)                .setHeight(height);        swipeRightMenu.addMenuItem(deleteItem);    }};

6.

// 菜单点击监听。SwipeMenuItemClickListenerswipeMenuItemClickListener =new SwipeMenuItemClickListener() {@Override    public void onItemClick(SwipeMenuBridge menuBridge) {// 任何操作必须先关闭菜单,否则可能出现Item菜单打开状态错乱。        menuBridge.closeMenu();int direction = menuBridge.getDirection();//左边还是右边菜单        int adapterPosition = menuBridge.getAdapterPosition();//    ecyclerView的Item的position。        int position = menuBridge.getPosition();// 菜单在RecyclerView的Item中的Position。        if (direction == SwipeMenuRecyclerView.RIGHT_DIRECTION) {list.remove(adapterPosition);//删除item            adapter.notifyDataSetChanged();            Toast.makeText(CommoditManagementActivity.this,"list第" + adapterPosition +"; 右侧菜单第" + position, Toast.LENGTH_SHORT).show();        }    }};

7.删除键宽的属性文件

效果图如下:

注意:设置颜色时好像只能用Color.RED这种格式的,你们可以试试别的方法

你可能感兴趣的:(Android 仿QQ侧滑item点击删除按钮)