2010-02-18 4 views
6

Ich habe eine Android-App, wo Benutzer Elemente zu einer Liste hinzufügen können, und ich möchte sie in der Lage, die Elemente in der Liste neu zu ordnen, wie sie wollen (im Gegensatz zu ihnen nur verschiedene Sortierreihenfolgen anzubieten). Es ist einfach genug, eine Positionseinstellung für die Elemente hinzuzufügen (sie stammen aus der DB), aber welche Art von UI-Elementen stehen dem Benutzer zur Verfügung, um die gewünschte Reihenfolge anzugeben?Wie kann ich einem Benutzer erlauben, Elemente in einer Liste neu zu sortieren?

Gibt es ein Muster, das jemand dafür gesehen hat? Ich habe nichts auf Android gesehen, das so etwas tut, außer dem Home-Bildschirm, der ähnlich ist, aber zu diesem Zeitpunkt ein bisschen über meine Expertise hinaus aussieht. Das Beste, was ich mir vorstellen kann, ist, ein langes Klick- und Kontextmenü zu verwenden, um "nach oben" oder "nach unten" zu gehen.

Antwort

2

Ich habe gerade gefunden: Android List View Drag and Drop sort nach einigem Suchen und Surfen. Ich dachte, es macht Sinn, es hier zu verlinken, denn das ist die erste Frage, die bei der Suche nach reorderable Listen in Android auftaucht.

3

Nun, da ist die richtige Antwort und meine Antwort. :-)

Die richtige Antwort ist Drag-and-Drop. Es gibt einen Code dafür, der sich um die Android-Quelle für die Musik-App dreht, aber er liegt momentan außerhalb meiner Fähigkeitsstufe mit Berührungsereignissen.

In der one case Ich wollte diese Funktion, ich erstellte eine Liste mit Up/Down-Tasten, um den Benutzer neu sequenzieren lassen. Hässlich, aber es funktioniert.

Mit einem Kontextmenü, wie Sie angeben, kann sicherlich gemacht werden, um zu arbeiten, aber wenn Sie den Bildschirm Immobilien sparen können, wird das Anbringen der Tasten einfacher. Sie könnten sogar erwägen, die Sichtbarkeit der Taste über ein Optionsmenü ein- oder auszuschalten, wenn Sie die ganze Zeit auf dem Bildschirm sehen, was unangenehm ist.

Und eines Tages hoffe ich, eine Drag-and-Drop ReorderableListView als wiederverwendbare Komponente machen ... aber ich würde nicht den Atem anhalten. Vielleicht hat jemand anderes einen, dem ich noch nicht begegnet bin.

Verwandte Themen