Android拖拽排序控件DragGridView

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

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

《Android拖拽排序控件DragGridView》 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

    原文作者:wkp111
    原文地址: https://www.jianshu.com/p/4170cb0e8696
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞