仿qq列表侧滑删除
2016-06-13 16:46
357 查看
最近做项目,有一类似qq列表侧滑删除的需求,有一点不同的是当条目滑出来的时候,条目有箭头指示,如下:
先说一下实现思路,在网上找了一个开源控件,自己修改了一下代码实现的,
参考:https://github.com/baoyongzhang/SwipeMenuListView
在这里感谢作者的贡献。
主要部分代码:
一、设置监听,itemMenu。
二、对item滑出时的监听做处理
若需要详细的代码,请移步下载
先说一下实现思路,在网上找了一个开源控件,自己修改了一下代码实现的,
参考:https://github.com/baoyongzhang/SwipeMenuListView
在这里感谢作者的贡献。
主要部分代码:
一、设置监听,itemMenu。
private void initUiAndListener() { // TODO Auto-generated method stub mListView = (SlideAndDragListView) findViewById(R.id.lv_edit); mListView.setMenu(mMenuList); mListView.setAdapter(mAdapter); // mListView.setOnListScrollListener(this); // mListView.setOnItemCloseListener(this); mListView.setOnSlideListener(this); mListView.setOnMenuItemClickListener(this); // mListView.setOnListItemLongClickListener(this); mListView.setOnListItemClickListener(this); } private void initMenu() { // TODO Auto-generated method stub mMenuList = new ArrayList<Menu>(2); Menu menu0 = new Menu(false,false,0); menu0.addItem(new MenuItem.Builder().setWidth((int) getResources().getDimension(R.dimen.slv_item_bg_btn2_width)) .setBackground(new ColorDrawable(Color.RED)) .setText("删除") .setDirection(MenuItem.DIRECTION_RIGHT) .setTextColor(Color.WHITE) .build()); menu0.addItem(new MenuItem.Builder().setWidth((int) getResources().getDimension(R.dimen.slv_item_bg_btn2_width)) .setBackground(new ColorDrawable(Color.GRAY)) .setText("添加") .setDirection(MenuItem.DIRECTION_RIGHT) .setTextColor(Color.WHITE) .build()); Menu menu1 = new Menu(true,false,1); menu1.addItem(new MenuItem.Builder().setWidth((int) getResources().getDimension(R.dimen.slv_item_bg_btn2_width)) .setBackground(new ColorDrawable(Color.RED)) .setText("删除") .setDirection(MenuItem.DIRECTION_RIGHT) .setTextColor(Color.WHITE) .build()); menu1.addItem(new MenuItem.Builder().setWidth((int) getResources().getDimension(R.dimen.slv_item_bg_btn2_width)) .setBackground(new ColorDrawable(Color.GRAY)) .setText("查看") .setDirection(MenuItem.DIRECTION_RIGHT) .setTextColor(Color.GREEN) .build()); mMenuList.add(menu0); mMenuList.add(menu1); }
二、对item滑出时的监听做处理
@Override public void onSlideOpen(View view, View parentView, int position, int direction) { Log.e(TAG,"onSlideOpen:position --" + position + "---direction---" +direction); ImageView img = (ImageView) view.findViewById(R.id.imageView1); img.setImageBitmap(rotateImg(R.drawable.ic_left_arrow, 180)); } @Override public void onSlideClose(View view, View parentView, int position, int direction) { Log.e(TAG,"onSlideClose:position --" + position + "---direction---" +direction); ImageView img = (ImageView) view.findViewById(R.id.imageView1); img.setImageBitmap(rotateImg(R.drawable.ic_left_arrow, 0)); } /** * @param id 资源引用 * @param degress 旋转角度 * @return bitmap employ: XXX.setImageDrawable(bitmap) */ private Bitmap rotateImg(int id, float degress){ Bitmap bitmap= BitmapFactory.decodeResource(getResources(), id); //创建操作图片是用的matrix对象 Matrix matrix=new Matrix(); matrix.setRotate(degress); bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); return bitmap; }
若需要详细的代码,请移步下载
相关文章推荐
- Android高仿QQ6.0侧滑删除实例代码
- 侧滑删除,下拉刷新,上拉加载
- PullToRefreshListView增加侧滑删除功能
- Android UI Libs之AndroidSwipeLayout
- 【Android开源项目解析】RecyclerView侧滑删除粒子效果实现——初探Android开源粒子库 Leonids
- 还在用XListView?试试更漂亮的AutoLoadListView吧!
- 详解RecyclerView+BGARefreshLayout实现自定义下拉刷新、上拉加载和侧滑删除效果
- 最好用的侧滑删除--SwipeLayout
- 仿QQ列表侧滑删除的ListView
- 侧滑可以删除的ListView
- QQ侧滑删除分享(工具类)
- Android 侧滑删除 SwipeMenuListView
- Android-----购物车(包含侧滑删除,商品筛选,商品增加和减少,价格计算,店铺分类等)
- android--------ListView和ExpandableListView的侧滑删除操作
- 仿QQ侧滑删除ListView
- Android之侧滑删除RecyclerView
- QQ聊天界面侧滑删除
- listview侧滑删除
- RecyclerView更全解析之 - 仿支付宝侧滑删除和拖动排序
- android_99_自定义View_侧滑删除