Adventskalender-App

Hey,

ich realisiere zurzeit eine Adventskalender-App für meine Freundin. Hinter jeder/m Tür/Button wird ein Bild angezeigt werden. Das funktioniert alles schon ganz gut.

Problem ist das Anordnen der Türen/Buttons. Ich möchte, dass die Buttons um den Baum herumgelegt werden.
Eine Idee wie ich das hinbekomme?

Querformat:

Hochformat:

interessante Frage allgemein, auch in Java-Swing kann man ja gar nicht beliebig große Komponenten zusammenwerfen und passend zueinander sortieren lassen…,

in deinem Fall ist es ja noch recht statisch, reicht eine manuell zugeschnitzte Lösung?
kann man eigentlich zwischen Quer- und Hochformat unterscheiden, jeweils ein Layout vorgeben?

im Querformat etwa anstelle der 8 ein leeres Label/ Button ohne Text und Funktion angeben,
dann dürften alle weiteren eine Position weiter springen (was du bisher verwendest schreibst du nicht),

was genau schwebt dir noch vor außer darunter bei der bisherigen 13 genauso, eine Zeile darunter vielleicht komplett frei?
irgendwann wird ja auch der Platz knapp…,
im Hochformat vielleicht etwas interessanter

Sprung hin zur absoluten Positionierung mit genauen X/Y-Koordinaten ist dann wohl nicht mehr weit…,
falls es das bei Android gibt, und ebenso wäre Hoch/ Quer zu unterscheiden

Wie @SlaterB schon andeutet gibt es die Möglichkeit entweder mit dem RelativeLayout und entsprechenden Margins als x/y Koordinaten oder mit einem eigenen LayoutManager.

Variante zwei ist mehr Aufwand, verspricht aber auch auf vielen verschiedenen Displays zu funktionieren.

Dazu würd ich folgenden Ansatz wählen:

  1. Bild mit Baum in Raster einteilen und ermitteln welche Felder sich nicht mit deinen Kästchen überschneiden darf.
  2. Im LayoutManager ermitteln welche Bildschirmgröße zur Verfügung stellt und ausrechnen wie groß das Kästchen ist. Ich persönlich würde mit min. 2 in einer Zeile und max. 6 arbeiten.
  3. Kästchen von oben nach unten anordnen.

Also simpel aufgezeichnet, z.B. so:


[ ][ ][ ][ ][ ][ ]
[ ][ ][X][ ][ ][ ]
[ ][X][X][X][ ][ ]
[X][X][X][X][X][ ]
[ ][ ][ ][ ][ ][ ]

Aber Achtung: Sobald man mal mit einem LayoutManager anfängt, fängt die Android-Fragmentierung an, dich in den Alpträumen zu verfolgen :wink:

Wie fand sie deinen Adventskalender denn?! Ich finde, da hattest du wirklich eine fantastische Idee!