钛 alloy 应用程序中行的拖放排序
drag and drop sorting of rows in titanium alloy app
我正在尝试使用 Android、iOS 和 Windows 平台的 JavaScript 在我的钛 alloy 应用程序中实现行的拖放排序.到目前为止,我能够使用触摸事件拖放视图。但是我已经遇到了一些问题,例如动画不流畅等。我还需要构建一个算法来对行进行排序。我已经搜索过 appcelerator 存档,在那里找不到好的方法。
有人可以协助我实施吗?是否有任何资源可以帮助我实现这一目标?
有一些模块可以帮助您拖放:
例如https://github.com/viezel/TiDraggable and https://github.com/animecyc/TiDraggable
这些是 https://github.com/pec1985/TiDraggable/network 的分支,因此请务必检查该页面以查看是否有更新的分支。
当您说"not smooth"时,您指的是什么动画?这取决于您拖动的行的内容。如果要移动的项目太多,最好创建一个 "ghost" 项目(只是一个带有彩色背景的视图)并四处移动。放手后,您又 remove/add 原来的容器。
关于排序:
你必须自己实施。但基本上你知道你正在拖动哪个元素(给每个项目一个 id),然后找出你将项目拖到哪个位置(通过 y 位置或检查你手指下的元素)。然后只需将您的物品移动到那个地方。或者重新排列一个 json 文件,并在完成拖动后将其分配给 table/listview。
iOS
上的列表视图
如果您在 iOS 上使用列表视图,您可以使用 "canMove" (https://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.ListItem-property-canMove)
Specifies if the item can be reordered within the list view by a user initiated action.
但它仅在 iOS 上可用。因此,对于跨平台方式,您必须创建自己的排序方式。
我正在尝试使用 Android、iOS 和 Windows 平台的 JavaScript 在我的钛 alloy 应用程序中实现行的拖放排序.到目前为止,我能够使用触摸事件拖放视图。但是我已经遇到了一些问题,例如动画不流畅等。我还需要构建一个算法来对行进行排序。我已经搜索过 appcelerator 存档,在那里找不到好的方法。
有人可以协助我实施吗?是否有任何资源可以帮助我实现这一目标?
有一些模块可以帮助您拖放:
例如https://github.com/viezel/TiDraggable and https://github.com/animecyc/TiDraggable
这些是 https://github.com/pec1985/TiDraggable/network 的分支,因此请务必检查该页面以查看是否有更新的分支。
当您说"not smooth"时,您指的是什么动画?这取决于您拖动的行的内容。如果要移动的项目太多,最好创建一个 "ghost" 项目(只是一个带有彩色背景的视图)并四处移动。放手后,您又 remove/add 原来的容器。
关于排序:
你必须自己实施。但基本上你知道你正在拖动哪个元素(给每个项目一个 id),然后找出你将项目拖到哪个位置(通过 y 位置或检查你手指下的元素)。然后只需将您的物品移动到那个地方。或者重新排列一个 json 文件,并在完成拖动后将其分配给 table/listview。
iOS
上的列表视图如果您在 iOS 上使用列表视图,您可以使用 "canMove" (https://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.ListItem-property-canMove)
Specifies if the item can be reordered within the list view by a user initiated action.
但它仅在 iOS 上可用。因此,对于跨平台方式,您必须创建自己的排序方式。