拖放GridView,它允许将项目添加到现有项目以及重新排序

蒂莫西

我正在写启动器。

它具有一个GridView,其中包含应用程序和应用程序文件夹。

我希望能够重新排序GridView ...这是很容易的部分,因为我在下面查看的库提供了重新排序:

https://github.com/askerov/DynamicGrid

https://github.com/mrKlar/PagedDragDropGrid

但是,我还希望能够将要拖动的项目添加到文件夹中,与Google Now Launcher的工作方式完全相同。其机制是,长按一个应用程序以开始拖放后,如果将鼠标悬停在另一个项目上,则允许您将其添加到文件夹(如果是文件夹)或创建文件夹(如果是应用程序)。如果将鼠标悬停在项目边缘附近,它将重新排序,而不是将其添加到项目中。

我不想从头开始编写此文件,但是一直找不到通过重新排序和添加来拖放GridViews(或ListViews)的任何示例。

有没有人有一个lib,一些示例代码,或者一个大概的想法?

幸运的是,我也正在编写​​启动器!

您可以为所有图标做的是 setOnDragListener(new Yourclass())

在中Yourclass,您可以执行以下操作:

class Yourclass implements View.OnDragListener{

    @Override
    public boolean onDrag(View v, DragEvent event) {
        final int action = event.getAction();
        switch (action) {
            case DragEvent.ACTION_DRAG_STARTED:
                // do nothing
                break;
            case DragEvent.ACTION_DRAG_ENTERED:
                //Code for folder

            case DragEvent.ACTION_DROP:
                if (event.getAction()==DragEvent.ACTION_DROP) {
                    //save folder?
                }
                return true;
            case DragEvent.ACTION_DRAG_ENDED:
                //do nothing
            default:
                break;
        }
        return true;
    }
}

确保Yourclass与longclicklistener位于同一文件中

但是,我自己编写了所有启动器代码,因此这可能不适用于您的库。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将现有项目添加到新项目

来自分类Dev

将现有项目添加到重新安装的XAMPP

来自分类Dev

将类别添加到现有项目?

来自分类Dev

将MVC 5身份添加到现有项目

来自分类Dev

将文本添加到QListWidget的现有项目

来自分类Dev

将Composer添加到现有的Codeigniter项目

来自分类Dev

如何将dbmate添加到现有项目?

来自分类Dev

将选项卡添加到现有项目

来自分类Dev

将Web界面添加到现有项目

来自分类Dev

将CoreData添加到现有项目时出错

来自分类Dev

将文本添加到QListWidget的现有项目

来自分类Dev

将项目添加到现有Collection C#

来自分类Dev

将现有项目添加到 GitHub

来自分类Dev

将项目添加到现有图例

来自分类Dev

将 GeoDjango 添加到现有的 Django 项目

来自分类Dev

从GridView将项目添加到ListBox

来自分类Dev

将现有项目的构建路径添加到新项目

来自分类Dev

更新现有项目或将新项目添加到reducer | React-Redux

来自分类Dev

如何将Windows Phone项目添加到现有Xamarin.Forms项目

来自分类Dev

将项目添加到列表框并选择它

来自分类Dev

以编程方式将项目添加到gridview / listview

来自分类Dev

将Funscript添加到现有的ASP.NET MVC项目

来自分类Dev

如何将Maven工件添加到现有的Maven项目中

来自分类Dev

如何将分支从新的远程添加到现有的Git项目?

来自分类Dev

如何将监视模块添加到现有的Android Studio项目中?

来自分类Dev

如何将Web API文件夹添加到现有项目?

来自分类Dev

Visual Studio:将现有文件夹添加到项目

来自分类Dev

将Android库添加到Android Studio 0.3.6上的现有项目

来自分类Dev

如何将.aspx页添加到现有的MVC 4项目?

Related 相关文章

热门标签

归档