Android拖拽排序控件DragGridView

作者: wkp111 | 来源:发表于2018-01-23 10:37 被阅读243次

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'
}

Note:使用版本请以Github为准。

  • 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布局使用示例
<com.peake.draggridview.DragGridView
    android:id="@+id/dialog_dgv_top"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>


DragSortDialog代码使用示例
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    
    //点击弹出对话框
    public void showDialog(View view) {
        DragSortDialog dialog = new DragSortDialog(this);
        dialog.setTopItemViews("ABCDEFG".split("\\B"));
        dialog.setBottomItemViews("OPQRST".split("\\B"));
        dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
            @Override
            public void onDismiss(DialogInterface dialog) {
                List<String> list = ((DragSortDialog) dialog).getTopDefaultItemViews();
                for (String s : list) {
                    Log.d("MainActivity", s);
                }
            }
        });
        dialog.show();
    }
}

最后,做一些补充

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

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

大家如果有更好的意见或建议以及好的灵感,请邮箱作者,谢谢!

QQ邮箱:
1535514884@qq.com

163邮箱:
15889686524@163.com

Gmail邮箱:
wkp15889686524@gmail.com

相关文章

  • Android拖拽排序控件DragGridView

    Android开发中,我们经常会遇到条目拖拽排序的需求,特别是在新闻类应用中就更普遍了。其实,我们在网上可以搜到许...

  • 必看的android - 收藏集 - 掘金

    可拖拽排序合并内容并分类的自定义控件 - Android - 掘金实现原理 ClassifyView包裹这一个Re...

  • android支付宝首页、蚂蚁森林效果、视频背景、校园电台、载入

    Android精选源码 android实现蚂蚁森林效果源码 android仿支付宝首页应用管理(拖拽排序,添加删除...

  • iOS collectionView拖拽排序

    iOS collectionView拖拽排序 iOS collectionView拖拽排序

  • source code:TableviewGroup阴影加圆角

    长按拖拽排序(上传者:yeliang_new)长按拖拽排序,拖拽排序。拖拽排序是新闻类的App可以说是必有的交互设...

  • Flutter-26- Draggable控件

    提供了强大的拖拽控件,可以灵活定制 Draggable Widget Draggable控件负责就是拖拽,父层使用...

  • AndroidTagView 云标签

    介绍 可自定义的标签视图,支持添加标签,点击,长按弹出删除对话框,以及拖拽排序。 Github 类似控件 andr...

  • 拖拽操作

    应用: 1.拖拽排序2.拖拽上传3.拖拽裁剪 拖拽流程 确定可拖拽的内容-->开始拖拽-->拖拽过程-->结束拖拽...

  • 3

    结构 1:定义一个半透明的Activity 2:使控件可以拖拽,并记录下拖拽后控件的位置

  • 控件拖拽

    JavaScript实现最简单的拖拽效果 HTML5 drag & drop 拖拽与拖放简介 基于HTML5 dr...

网友评论

    本文标题:Android拖拽排序控件DragGridView

    本文链接:https://www.haomeiwen.com/subject/rrojaxtx.html