Android 拖拽排序控件 DragGridView

Android 开发中,我们经常会遇到条目拖拽排序的需求,特别是在新闻类应用中就更普遍了.其实,我们在网上可以搜到许多关于拖拽排序的自定义控件,今天,为大家介绍的是一个拖拽排序库 DragGridView ,库中包含自定义控件 DragGridView 以及它的一个封装对话框 DragSortDialog.下面,我们就一起了解一下库的功能及使用方式吧.

首先,我们看一下效果演示图

DragGridView.gif

接着,介绍一下功能和使用方式

1. 功能

主要实现条目的拖拽排序,更适用于新闻条目.

2. 集成方式(Android Studio)dependencies{

compile'com.wkp:DragGridView:1.0.1'

//Android Studio3.0+可用以下方式

//implementation 'com.wkp:DragGridView:1.0.1'

}

3.API 讲解

DragGridView

1.setHasDrag 设置长按拖拽是否开启

2.setItemViews 设置控件条目

3.addItemView 添加单个条目

4.setColumnCount 设置条目列数

5.setTransitionDuration 设置拖拽动画时长

6.setTextPadding 设置条目文本内间距

7.setTextMargin 设置条目文本外间距

8.setTextSize 设置条目文本字体大小

9.setTextColor 设置条目文本字体颜色

10.setTextNormalBackground 设置条目文本正常背景

11.setTextSelectedBackground 设置条目文本拖拽背景

12.getItem 获取对应文本对象

13.getSortItems 获取排序完成后的所有条目对象

14.getDefaultItems 获取排序完成后的所有条目文本

15.setOnItemClickListener 设置条目点击监听

DragSortDialog

1.setTopItemViews 设置顶部条目

2.setBottomItemViews 设置底部条目

3.setTopHasDrag 设置顶部拖拽功能是否开启

4.setBottomHasDrag 设置底部拖拽功能是否开启

5.getTopItemViews 获取排序后顶部条目对象

6.getTopDefaultItemViews 获取排序后顶部条目文本

7.getTvTitle 获取顶部标题栏

8.getTvDivision 获取分割标题栏

9.setWidth 设置对话框宽度

10.setHeight 设置对话框高度

11.setGravity 设置对话框位置

4. 使用示例

DragGridView布局使用示例

android:id="@+id/dialog_dgv_top"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

DragSortDialog代码使用示例publicclassMainActivityextendsAppCompatActivity{

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

//点击弹出对话框

publicvoidshowDialog(Viewview){

DragSortDialogdialog=newDragSortDialog(this);

dialog.setTopItemViews("ABCDEFG".split("\\B"));

dialog.setBottomItemViews("OPQRST".split("\\B"));

dialog.setOnDismissListener(newDialogInterface.OnDismissListener(){

@Override

publicvoidonDismiss(DialogInterfacedialog){

Listlist=((DragSortDialog)dialog).getTopDefaultItemViews();

for(Strings:list){

Log.d("MainActivity",s);

}

}

});

dialog.show();

}

}

最后,做一些补充

控件支持直接代码创建,还有更多 API 请观看 DragGridView.java 和 DragSortDialog.java 内的注释说明.

欢迎大家使用 Github 地址 ,感觉好用请给个 Star 鼓励一下,谢谢!

来源: http://www.jianshu.com/p/4170cb0e8696

Android表格拖拽排序,Android 拖拽排序控件 DragGridView相关推荐

  1. Android拖拽排序控件DragGridView

    Android开发中,我们经常会遇到条目拖拽排序的需求,特别是在新闻类应用中就更普遍了.其实,我们在网上可以搜到许多关于拖拽排序的自定义控件,今天,为大家介绍的是一个拖拽排序库DragGridView ...

  2. 【Android自定义View实战】之自定义评价打分控件RatingBar,可以自定义星星大小和间距...

    [Android自定义View实战]之自定义评价打分控件RatingBar,可以自定义星星大小和间距

  3. android menu item 显示,Android 如何通过menu id来得到menu item 控件 .

    Android 如何通过menu id来得到menu item 控件 . (2012-07-21 06:43:31) 标签: android 如何 杂谈 Android 如何通过menu id来得到m ...

  4. android学习笔记---50_样式与主题,给控件使用样式,给应用使用主题

    50_样式与主题 android学习笔记---50_样式与主题,给控件使用样式,给应用使用主题 2013/5/12 50_样式与主题 ----------------- android样式和主题(st ...

  5. Android之RemoteViews篇上————通知栏和桌面小控件

    Android之RemoteViews篇上----通知栏和桌面小控件 一.目录 文章目录 Android之RemoteViews篇上----通知栏和桌面小控件 一.目录 二.RemoteViews的概 ...

  6. 根据从日期控件选定的时间以表格形式显示数据_VB项目开发FlexGrid控件使用讲解...

    FlexGrid控件使用介绍 大家好,在VB开发管理系统中,FlexGrid控件使用是非常普遍的.用FlexGrid ActiveX控件可以在 Visual Basic的窗体中创建一个电子数据表格,也 ...

  7. Android中列表框纵向布局,andriod布局常用控件属性..docx

    andriod布局常用控件属性. android:gravity="center_vertical" ?限定它里面的内容要垂直居中显示.?android:layout_gravit ...

  8. android学习笔记1-布局的初步了解以及 控件的常见属性

    布局: AbsoluteLayout 绝对布局 FrameLayout 帧布局 LinerLayout 线性布局 RelativeLaout 相对布局 TableLayout 表格布局 GridLay ...

  9. android 语音播放工具,Android简易的仿微信聊天的语音播放控件

    说到Android音频播放,可谓108式,方案众多,这里有一篇总结Android几种播放音频的方式的文章,传送门.本文旨在熟悉MediaPlayer的使用,遂此控件封装采用MediaPlayer实现. ...

最新文章

  1. LeetCode 所有题目总结
  2. 2014年Q1中国.BIZ域名总量增1.5万 注册情况稳定
  3. ubuntu下装Source Insight
  4. spring WebSocket详解
  5. sql server 2005 T-SQL BULK INSERT (Transact-SQL)
  6. php脚本防上多进程同时执行,Jorker
  7. java的注解_java-注解相关
  8. jQuery制作动态酷效果总结
  9. 年轻人逃离推荐算法围城:老年版App,用着真香
  10. 塞尔达传说gba_《塞尔达传说缩小帽》是系列一年级生?,回忆众多玩友的启蒙之作...
  11. html如何去掉有无标题点,HTML中,如何去掉某个元素下的一些特殊标签?
  12. C++函数申明对函数模板实例化的屏蔽
  13. popen 如何获取指令执行情况_php通过popen获取的一个命令的返回值如何分析出来...
  14. java单例模式--Java单例模式以及6种实现方式
  15. java isbn_ISBN(国际标准书号)的校验
  16. 【BZOJ3097】 Hash Killer I
  17. 上海证券综合指数统计分析及挖掘(二)
  18. 谈谈开展信息安全工作的四个权力
  19. 大数据入门--大数据特点
  20. 【AIS学习】06:AIS缩略语

热门文章

  1. 程序员为什么觉得会议很无聊_我从100个无聊的会议中学到的难忘的教训
  2. c++ 原子操作 赋值_高级Java开发工程师带你走进原子操作,一篇文章搞清楚原子操作...
  3. 自然语言处理实践Task3
  4. 使用 Python 实现鼠标键盘自动化
  5. 如何用python写个人专属群聊提醒小助手?
  6. 正则表达式与相关工具
  7. 进程的创建-fork(python版)
  8. 伪静态、静态和动态的区别
  9. Python deque的用法介绍
  10. VS2010项目的部署与安装