如何允许用户重新排序列表中的项目?
Posted
技术标签:
【中文标题】如何允许用户重新排序列表中的项目?【英文标题】:How can I allow a user to re-sort items in a list? 【发布时间】:2011-01-18 09:36:48 【问题描述】:我有一个 android 应用程序,用户可以在其中将项目添加到列表中,我希望他们能够根据需要对列表中的项目进行重新排序(而不是仅仅为他们提供不同的排序顺序)。为项目添加位置设置很容易(它们来自数据库),但是用户可以使用哪些类型的 UI 元素来指示所需的顺序?
有没有人见过为此实现的模式?除了主屏幕相似但看起来有点超出我的专业知识之外,我还没有在 Android 上看到任何类似的东西。我能想到的最好的方法是使用长按和上下文菜单来“上移”或“下移”。
【问题讨论】:
【参考方案1】:嗯,有正确的答案,还有我的答案。 :-)
正确的答案是拖放。音乐应用程序的 Android 源代码中有一些代码,但现在触摸事件超出了我的技能水平。
在one case 我想要这个功能,我使用向上/向下按钮创建了一个列表,让用户重新排序。丑陋,但它有效。
正如您所指出的,使用上下文菜单当然可以工作,但如果您可以节省屏幕空间,那么打开按钮会更容易。您甚至可以考虑通过选项菜单打开/关闭按钮的可见性,如果让它们一直在屏幕上会令人不快。
而且,有一天,我希望将ReorderableListView
拖放为可重复使用的组件……但我不会屏住呼吸。也许其他人有我还没有遇到过的。
【讨论】:
【参考方案2】:经过一番搜索和浏览,我刚刚找到了这个:Android List View Drag and Drop sort。我认为在这里链接它是有意义的,因为这是在 android 中搜索可重新排序列表时出现的第一个问题。
【讨论】:
以上是关于如何允许用户重新排序列表中的项目?的主要内容,如果未能解决你的问题,请参考以下文章
在 Flutter 中通过拖放重新排序 SliverList 中的项目