Android开源--DragSortListview
来源:互联网 发布:吉他软件中文版下载 编辑:程序博客网 时间:2024/05/17 08:46
項目地址:https://github.com/bauerca/drag-sort-listview
简介:DragSortListview是支持通过左右拖拉删除数据,上下拖拉排序的列表,缺点是当数据
太多时不好下拉.
API简介:
DragSortListView.DropListener>>该接口监听上下拖动时,位置变化的监听器;
DragSortListView.RemoveListener>>该接口监听左右拖动时,滑动成功删除数据的接口;
FloatViewManager:是上下拖动时,出现的悬浮框控制 包括声明和销毁的控制
DragSortListView:设置拖动的开关;并设置回调的监听器,因为系统不知道我们数据操作的
具体业务
DragSortController:该控制器实现了FloatViewManager,同时实现了OnTouchListener;
说明,大部分拖动所产生的操作都在Controller里面.删除操作的开关也是Controller;
同时,定义删除和拖拉的模式也在Controller里面.这里就存在一个问题,我们所操作的
对象是谁,系统提供了setDragHandleId()方法来设置操作的View;
简介:DragSortListview是支持通过左右拖拉删除数据,上下拖拉排序的列表,缺点是当数据
太多时不好下拉.
API简介:
DragSortListView.DropListener>>该接口监听上下拖动时,位置变化的监听器;
DragSortListView.RemoveListener>>该接口监听左右拖动时,滑动成功删除数据的接口;
FloatViewManager:是上下拖动时,出现的悬浮框控制 包括声明和销毁的控制
DragSortListView:设置拖动的开关;并设置回调的监听器,因为系统不知道我们数据操作的
具体业务
DragSortController:该控制器实现了FloatViewManager,同时实现了OnTouchListener;
说明,大部分拖动所产生的操作都在Controller里面.删除操作的开关也是Controller;
同时,定义删除和拖拉的模式也在Controller里面.这里就存在一个问题,我们所操作的
对象是谁,系统提供了setDragHandleId()方法来设置操作的View;
/** * 一个简单的例子 * @author Lean @date:2014-10-23 */public class MainActivity extends Activity {private DragSortListView mDslv;private DragSortController mController; ArrayAdapter<String> adapter; private DragSortListView.DropListener onDrop = new DragSortListView.DropListener() { @Override public void drop(int from, int to) { if (from != to) { //上下拖动时,手指释放瞬间调用 String item = adapter.getItem(from); adapter.remove(item); adapter.insert(item, to); } } }; private DragSortListView.RemoveListener onRemove = new DragSortListView.RemoveListener() { @Override public void remove(int which) { //删除位置成功调用 adapter.remove(adapter.getItem(which)); } }; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mDslv = (DragSortListView) findViewById(android.R.id.list);//打开拖动开关,如果不打开 右滑操作没反应mDslv.setDragEnabled(true);//设置监听器mDslv.setDropListener(onDrop); mDslv.setRemoveListener(onRemove);mController = buildController(mDslv);//设置悬浮框管理器,点击监听器mDslv.setFloatViewManager(mController);mDslv.setOnTouchListener(mController); setListAdapter();}public DragSortController buildController(DragSortListView dslv) { DragSortController controller = new DragSortController(dslv); //设置拖动对象 id映射View controller.setDragHandleId(R.id.drag_rl); //设置移除开关 controller.setRemoveEnabled(true); //设置拖动/移除 模式 controller.setDragInitMode(DragSortController.ON_DRAG); controller.setRemoveMode(DragSortController.FLING_REMOVE); return controller; } public void setListAdapter() { String[] array = getResources().getStringArray(R.array.jazz_artist_names); ArrayList<String> list = new ArrayList<String>(Arrays.asList(array)); adapter = new ArrayAdapter<String>(this, R.layout.list_item_handle_left, R.id.text, list); mDslv.setAdapter(adapter); } }
0 0
- Android开源--DragSortListview
- Android自定义控件:DragSortListview
- 拖拽滑动DragSortListview
- DragSortListView学习总结
- DragSortListView官方文档
- DragSortListView:可拖动排序的listview
- DragSortListView:可拖动排序的listview
- 可拖拽listview基本使用技巧(DragSortListView)
- 自定义ListView盘点-DragSortListView(4)
- 可拖拽listview基本使用技巧(DragSortListView)
- DragSortListView:可拖动排序的listview
- 拖动实现listview的item改变顺序(DragSortListView)
- DragSortListView拖动排序的ListView,同时支持ListView滑动item删除
- android 开源
- Android开源
- android开源
- 开源 android
- Android开源
- 当MySpace遭遇百千万用户的压力——话说如何解决拥有百千万用户网站压力问题的架构
- Linux(CentOS)下的apache服务器配置与管理
- 第二章 线性表 思维导图
- linux下查看线程数的几种方法
- Cocos2d-x教程(32)-quick-cocos2d-x 加密
- Android开源--DragSortListview
- thinkphp3.2.2下fullavatareditor的使用
- PHP获取http状态码/php判断页面是否能正常打开
- MongoDB 操作手册CRUD 事务 两步提交
- 轮廓 画外接圆外接矩形
- maven 隐士目录
- vim插件之lookupfile
- 开源GIS简介
- 解读分开存储网站程序文件和上传目录文件的方法_动易Cms教程