1、在云信的gradle中添加依赖
2、复制侧滑删除控件listview:CustomLeftListViewsrc包下
3、修改demo中删除俩天相关的代码:
public static class MyMenuUtil { private static SwipeMenuCreator addMenus(final Context mContext, final String[] menus, final int[] bgColors, final int width, final int textSize) { SwipeMenuCreator creator = new SwipeMenuCreator() { @Override public void create(SwipeMenu menu) { for (int i = 0; i < menus.length; i++) { // create "delete" item SwipeMenuItem deleteItem = new SwipeMenuItem(mContext); // set item background deleteItem.setBackground(new ColorDrawable(mContext.getResources().getColor(bgColors[i]))); // set item width deleteItem.setWidth(dp2px(mContext, width)); // set item title deleteItem.setTitle(menus[i]); // set item title fontsize deleteItem.setTitleSize(textSize); // set item title font color deleteItem.setTitleColor(Color.WHITE); // add to menu menu.addMenuItem(deleteItem); } } }; return creator; } public static int dp2px(Context mContext, int dip) { final float scale = mContext.getResources().getDisplayMetrics().density; return (int) (dip * scale + 0.5f); } }
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
private void initsliplistview() { String[] menus = {"删除"}; int[] colors = {R.color.delete_msg_red};//侧换删除背景颜色 listView.setMenuCreator(MyMenuUtil.addMenus(getActivity(), menus, colors, 66, 18)); listView.setOnMenuItemClickListener(new SwipeMenuListView.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(int position, SwipeMenu menu, int index) { switch (index) { case 0: // 删除会话,删除后,消息历史被一起删除 //items是会话列表的集合 RecentContact recent = items.get(position); NIMClient.getService(MsgService.class).deleteRecentContact(recent); NIMClient.getService(MsgService.class).clearChattingHistory(recent.getContactId(), recent.getSessionType()); items.remove(recent); if (recent.getUnreadCount() > 0) { refreshMessages(true); } else { notifyDataSetChanged(); } // detlefile(position); // pos = position; MyToast.instance().show("您点击了删除按钮"); // presenter.deleteInbox(MyApplication.getInstance().getUser().get_id(), friendMsgslist.get(position).get_id()); break; } return true; } }); }