Kreisförmige ListView (Elemente auf Halbkreis)

8

Ich versuche eine kreisförmige ListView mit Listenelementen zu erstellen, die auf Halbkreis angeordnet sind. es sollte ungefähr so ​​aussehen:

Es gab einen zugehörigen Beitrag aber es war geschlossen.

Ich habe meine eigene kreisförmige benutzerdefinierte ListView erstellt und es funktioniert gut, aber mein Problem ist, dass ich List Items Half Circle Weise nicht anordnen kann, wie es auf dem Bild angezeigt wird. Ich habe mehrere Dinge ausprobiert war nutzlos, ich weiß nicht, wie es geht.

    
Jilberta 27.04.2013, 14:33
quelle

6 Antworten

18

Also, als ich die Beispiel-App zu Demo gemacht habe, musste ich zwei Sachen machen.

Zuerst wurde die onDraw(Canvas) in meiner benutzerdefinierten Ansicht bearbeitet. Dies kann jede Ansicht sein, ich mache es aus Gründen der Einfachheit zu einem TextView. Dies erlaubt mir, die Ansicht basierend auf einer Gleichung zu verschieben.

%Vor%

Als zweites musste ich die ListView-Klasse überschreiben, OnScrollListener implementieren und setOnScrollListener(this); aufrufen. Jetzt kann ich durch die Liste blättern, es folgt der Gleichung, die ich in die Ansicht stelle.

%Vor%

Sie können die vollständige Quelle von meinem Gist herunterladen.

Ausgangszustand Scroll-Status

Wie Sie sehen können, ist meine Mathematik etwas daneben ... Ich benutze eine Parabel oder einen Kreis, also muss das geändert werden.

    
Ethan 03.05.2013, 20:00
quelle
1

Sie können den linken Rand für jede im getView () Ihres Adapters zurückgegebene Ansicht vergrößern / verkleinern. So erhöhen Sie beispielsweise für die erste Hälfte Ihrer Ansichten den Rand für jedes Objekt um beispielsweise 20 Pixel (int margin = index * 20) und verringern es entsprechend für die zweite Hälfte der Ansichten.

Das erfordert viel Feinabstimmung, um wirklich wie eine kreisförmige Liste zu wirken, natürlich, aber ich denke, Sie haben die Idee.

    
TomTasche 01.05.2013 08:52
quelle
1

Ich würde versuchen, wenn möglich ein vorhandenes radiales Menü-Widget zu verwenden. Dieser behauptet, ein halbrundes radiales Menü zu unterstützen. Ich bin mir nicht sicher, ob dies funktioniert oder nicht.

    
CommonsWare 05.05.2013 13:47
quelle
0

Vielleicht hilft dir das,

Siehe hier

Siehe

Hoffe das wird dir helfen:)

    
Mit Bhatt 06.05.2013 12:02
quelle
0

Ich finde, dass du erreichst, was du willst und hier ist zhe github Quelle Ссылка

    
huntersea 12.08.2013 08:11
quelle
0

Nach etwas mehr glotzen fand ich eine Lösung.
Es ist relativ optimiert und konfigurierbar wie ein normales ListView.

Hier sind die wichtigsten Code-Schnipsel:

CircularListView.java

%Vor%

Zur weiteren Klärung können Sie auch meinen Blogpost sehen und dazu kommentieren. Sie können Beispiel-App für Eclipse herunterladen.
Mein Blog ist:
Ссылка

    
Shivang 02.12.2015 08:03
quelle

Tags und Links