2016-05-04 5 views
0

Android、iOS、Windowsプラットフォーム用のJavaScriptを使用して、私のチタン合金アプリの行のドラッグアンドドロップソートを実装しようとしています。これまでは、タッチイベントを使用してビューをドラッグアンドドロップすることができました。しかし、私はすでに滑らかではないアニメーションなどのいくつかの問題に遭遇しました。また、行をソートするアルゴリズムを構築する必要があります。私はすでにappceleratorのアーカイブを検索し、良いアプローチを見つけることができませんでした。チタン合金アプリの行のドラッグアンドドロップによる並べ替え

誰かが私の実装を支援できますか?これを達成するのに役立つリソースはありますか?例えば

答えて

2

ドラッグ&ドロップであなたを助けることができるいくつかのモジュールがあります。 https://github.com/viezel/TiDraggableおよびhttps://github.com/animecyc/TiDraggable

これらは、https://github.com/pec1985/TiDraggable/networkのフォークです。そのページで、新しいフォークがあるかどうかを確認してください。

「滑らかではない」と言ったときのアニメーションは何ですか?ドラッグしている行の内容によって異なります。移動するアイテムがたくさんある場合は、「ゴースト」アイテム(色付きの背景を持つビュー)を作成し、これを移動する方がよいでしょう。元に戻すと元のコンテナをもう一度削除/追加します。ソートについて

は、あなたがそれを自分で実装する必要があります。しかし、基本的にあなたはどの要素をドラッグしているか知っています(すべての項目にidを渡してください)。そして、項目をドラッグする位置(y-位置で、またはあなたの指の下の要素をチェックしています)を調べます。その後、その場所であなたのアイテムを移動してください。または、jsonファイルを再配置し、ドラッグを終了したらtable/listviewに割り当てます。 iOSの

のListView

あなたはiOSの上でリストビューを使用している場合は、「canMove」を使用することができます(https://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.ListItem-property-canMove

指定項目は、ユーザがリストビュー内並べ替えることができる場合開始アクション。

ただし、iOSでのみ利用できます。したがって、クロスプラットフォームの方法では、独自の並べ替えを作成する必要があります。

+0

はい、https://github.com/animecyc/TiDraggableを使用したかったのですが、Windows上でドラッグアンドドロップを実装しているため、できませんでした。タッチイベントで作業を始めました。 – learner123

関連する問題