Android的SwipeToDismiss是github上一个第三方开源框架(github上的项目链接地址: https://github.com/romannurik/Android-SwipeToDismiss )。该开源项目旨在:使得一个ListView的item在用户的手指在屏幕上左滑或者右滑时候,删除当前的这个ListView Item。
此种特效在新版的Android中应用不少,比如在Android 5.0及以上版本中,通知栏下拉菜单中的条目,就是这种操作效果,用户把通知栏下拉出来,手指轻触某一项,左滑或者右滑,删除(清除)此项。
https://github.com/romannurik/Android-SwipeToDismiss 上下载到到库文件有两个(此说是基于截止2015年7月27日的版本,后续版本也许会有所不同):SwipeDismissListViewTouchListener.java 和 SwipeDismissTouchListener.java 。如果只是打算简单的只是支持一个ListView列表中item左滑/右滑删除,那么仅仅只导入SwipeDismissListViewTouchListener.java这一个库文件即可。

现在就给出一个简单例子,说明如何改造一个标准ListView,使其支持左右滑动某个item然后删除之。

效果如图:


java代码如下:

package com.example.swipetodismiss;import java.util.ArrayList;import java.util.List;import com.example.android.swipedismiss.SwipeDismissListViewTouchListener;import com.example.android.swipedismiss.SwipeDismissListViewTouchListener.DismissCallbacks;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.ArrayAdapter;import android.widget.ListView;public class MainActivity extends Activity {private ListView list_view;private List<String> list;private ArrayAdapter<String> adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);list_view = (ListView) findViewById(R.id.list_view);list = new ArrayList<String>();for (int i = 0; i < 30; i++) {list.add("测试数据" + i);}adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);list_view.setAdapter(adapter);// 将ListView传递过来。SwipeDismissListViewTouchListener swipeListener = new SwipeDismissListViewTouchListener(list_view,new DismissCallbacks() {// 此处将执行删除,记得要notifyDataSetChanged()。@Overridepublic void onDismiss(ListView listView, int[] reverseSortedPositions) {for (int pos : reverseSortedPositions) {list.remove(pos);}adapter.notifyDataSetChanged();}@Overridepublic boolean canDismiss(int position) {return true;}});list_view.setOnTouchListener(swipeListener);}}


更多相关文章

  1. android 自定义RadioButton样式
  2. android中Spinner特效
  3. Android高手进阶教程(十)之----Android(安卓)PopupWindow的使用!
  4. Android(安卓)RecyclerView之添加Item分割线
  5. android保存文件到SD卡中
  6. @SuppressLint("NewApi")作用
  7. Android(安卓)studio 更新只显示"Download”的解决办法
  8. Android(安卓)Studio:依赖包的版本号
  9. Android自定义动画专题一

随机推荐

  1. 关于 SSL 证书
  2. PHP登录与防止数据注入实例演示
  3. 板绘初学者应该学什么?板绘入门教程分享
  4. umi 结合 dva 使用
  5. 闭包、访问器属性、类与对象的创建与成员
  6. 递归函数 用户表
  7. 12月28日圣杯布局(grid版)
  8. 【北亚数据恢复】EMC Unity 400存储误操
  9. 12月27日媒体查询作业
  10. 开发常用镜像站 - 阿里云镜像站