/DragGridView

条目拖拽排序控件(主要用于新闻条目)

Primary LanguageJava

DragGridView Download

条目拖拽排序控件(主要用于新闻条目)

效果演示图

DragGridView

Gradle集成

dependencies{
      compile 'com.wkp:DragGridView:1.0.1'
      //Android Studio3.0+可用以下方式
      //implementation 'com.wkp:DragGridView:1.0.1'
}

Note:可能存在Jcenter还在审核阶段,这时会集成失败!

使用讲解

控件DragGridView和DragSortDialog

  • DragGridView

布局

<com.peake.draggridview.DragGridView
    android:id="@+id/dialog_dgv_top"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

Note:可以直接java代码创建!

API
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

API
1.setTopItemViews 设置顶部条目
2.setBottomItemViews 设置底部条目
3.setTopHasDrag 设置顶部拖拽功能是否开启
4.setBottomHasDrag 设置底部拖拽功能是否开启
5.getTopItemViews 获取排序后顶部条目对象
6.getTopDefaultItemViews 获取排序后顶部条目文本
7.getTvTitle 获取顶部标题栏
8.getTvDivision 获取分割标题栏
9.setWidth 设置对话框宽度
10.setHeight 设置对话框高度
11.setGravity 设置对话框位置

代码示例

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();
    }
}

Note:对话框只是对DragGridView的封装,DragGridView可以单用!

寄语

控件支持直接代码创建,还有更多API请观看DragGridView.javaDragSortDialog.java内的注释说明。
欢迎大家使用,感觉好用请给个Star鼓励一下,谢谢!
大家如果有更好的意见或建议以及好的灵感,请邮箱作者,谢谢!
QQ邮箱:1535514884@qq.com
163邮箱:15889686524@163.com
Gmail邮箱:wkp15889686524@gmail.com

版本更新

  • v1.0.1
    新创建拖拽换位控件库

License

Copyright 2017 wkp

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.