gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 01:40:08 24 4
gpt4 key购买 nike

我正在写一个启动器。

它有一个包含应用程序和应用程序文件夹的 GridView。

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

https://github.com/askerov/DynamicGrid

https://github.com/mrKlar/PagedDragDropGrid

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

我不想从头开始写这篇文章,但一直无法找到任何拖放 GridView(或 ListView)以及重新排序和添加的示例。

有没有人有库、一些示例代码或关于如何做的粗略想法?

最佳答案

你真幸运,我也在写一个启动器!

您可以为所有图标做的是 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 在同一个文件中

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

关于android - 拖放 GridView,它允许将项目添加到现有项目以及重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com