博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SwipeListView 具体解释 实现微信,QQ等滑动删除效果
阅读量:6089 次
发布时间:2019-06-20

本文共 2008 字,大约阅读时间需要 6 分钟。

QQ或者微信出现过滑动,近期联系人列表,能够删去当前选中的联系人,这个功能玩起来非常爽 ,

就是试着做了下。事实上是使用了开源框架SwipeListView

SwipeListView 与一般的ListView使用方式差点儿相同,仅仅是添加了一些特殊功能。

  • swipeFrontView -ListView Item正常显示的控件Id,且必须与Item的布局文件里的控件id一样
  • swipeBackView - 手指滑动时显示的,隐藏在FrontView后面,且必须与item的布局文件里控件Id一样
  • swipeActionLeft - 左滑的动作。默认reveal。即显示BackView,还有dismiss,choice会触发响应的方法。
  • swipeActionRight - 右滑动作。其它同上
  • swipeMode - Default: 'both' 设置左滑、右滑、都支持
  • swipeCloseAllItemsWhenMoveList - 当滚动listview时,关闭全部展开的Item。最好不要设置为false,因为item的   
  •  复用,false存在一些问题。
  • swipeOpenOnLongPress - Default: 'true' 长按时触发显示
  • swipeAnimationTime - 动画时间长度
  • swipeOffsetLeft - left offset 左偏移量
  • swipeOffsetRight - right offset 右偏移量
mSwipeListView = (SwipeListView) findViewById(R.id.id_swipelistview);          mAdapter = new DataAdapter(this, mDatas , mSwipeListView);          mSwipeListView.setAdapter(mAdapter);            mSwipeListView.setSwipeListViewListener(new BaseSwipeListViewListener()          {              @Override             //重写BaseSwipeListViewListener父类须要的方法         };

使用方式非常easy 和普通的ListView 相似,不须要多说。

对于 ListView的Item删除单个元素。仅仅须要在Adapter中处理button的点击事件。或者写一个回调传回Activity中处理

我这里给出在Adapter中处理的方式的代码:

@Override      public View getView(final int position, View convertView, ViewGroup parent)      {          convertView = mInflater.inflate(R.layout.list_item, null);            TextView tv = (TextView) convertView.findViewById(R.id.id_text);          Button del = (Button) convertView.findViewById(R.id.id_remove);          tv.setText(mDatas.get(position));          del.setOnClickListener(new OnClickListener()          {              @Override              public void onClick(View v)              {                  mDatas.remove(position);                  notifyDataSetChanged();                   /**                   * 关闭SwipeListView                   * 不关闭的话。刚删除位置的item存在问题                   * 在监听事件中onListChange中关闭。会出现故障                   */                  mSwipeListView.closeOpenedItems();              }          });                    return convertView;      }

转载地址:http://jepwa.baihongyu.com/

你可能感兴趣的文章
[SQL in Azure] Windows Azure Virtual Machine Readiness and Capacity Assessment
查看>>
J2EE项目安全的考虑(SSH2)
查看>>
栈和堆的区别
查看>>
20天的突击,还有一波三折的惊喜!感谢51CTO学员!
查看>>
mysql cluster 配置
查看>>
实用cmd指令(2)
查看>>
linux下快速切换目录的方法
查看>>
Spring AOP嵌套调用的问题 (同一类方法内调用切面切不到)
查看>>
10月19日作业
查看>>
纯css实现高度与宽度成给定比例的效果
查看>>
轻松娱乐
查看>>
高级人工智能汇总
查看>>
Netty实现自定义简单的编解码器(一)
查看>>
MySQL Cursor在存储过程中的使用
查看>>
我的友情链接
查看>>
10046事件和tkprof命令
查看>>
关于linux的连接数问题
查看>>
javaIO流
查看>>
Java基础学习总结(16)——Java制作证书的工具keytool用法总结
查看>>
mysql 5.7 liunx 的安装
查看>>