2016-09-22 5 views
0

Android-Layouts haben sich ein wenig verändert, seit ich weg vom Thema bin und ich nie zuvor so tief in das Thema eindringen musste, also vergebe, was ich hoffe, ist eine relativ einfache Frage.Dumme Android-Layout-Tricks

Angenommen, Sie entwickeln ein Kartenspiel mit einem menschlichen Spieler und 3 Computer- oder Remote-Gegnern (nicht ganz genau, aber nah genug für meine Zwecke). Mein Plan ist, dass es vier Kinder Layouts geben wird, die jeden "Hände" des Spielers darstellen. Die links und rechts zeigen ihre Bilder in der Reihenfolge von oben nach unten an. Die oben und unten angezeigten Bilder werden von links nach rechts angezeigt.

Es ist vernünftig anzunehmen, dass linkes und rechtes Layout das gleiche Verhalten haben (Schwerkraft, richtig?) (Wenn Anfangs- und Endpixel unterschiedlich sind). Das Gleiche gilt für oben und unten. Wenn es darauf ankommt, wird die Verwendung auf den Landscape-Modus beschränkt.

Wie lautet die richtige Methode, um die childLayouts an die richtigen Stellen zu bringen? Welches sind die richtigen Layouts auf der obersten Ebene? Was sollten die Kinderlayouts des Spielers sein? (Ich habe GridLayouts angenommen, aber es scheint, dass ein Host von anderen auch funktionieren könnte - sie werden nur eine Anzahl dynamisch generierter ImageViews halten)

Sobald ich Layouts an der richtigen Stelle habe, bin ich gut. ..Ich denke.

Tx im Voraus

+0

Mein Vorschlag ist, dass, wenn Sie ein Spiel entwickelst, können Sie ein Spiel-Engine verwenden, um es zu schaffen. ich ein Spiel erstellt haben durch mit nativen Android-Layouts, aber Junge, war es hacky! Es ist nur, dass die UI-Funktionalität an Apps angepasst ist, nicht Spiele ... –

+0

Ich bin tatsächlich hin und her gegangen das Thema. Ich habe eine primitive Version von dem, was ich in Python mit Pygame gemacht habe, erstellt und war mit den Ergebnissen nicht zufrieden. Alles, was ich wirklich brauche, sind 4 Boxen, auf die ich mich programmatisch beziehen kann. Die Android-Layouts scheinen perfekt dafür zu sein, wenn ich sie an den richtigen Ort bringen könnte. – JoeHz

+0

Ich werde versuchen, Ihre Frage bald zu beantworten ... –

Antwort

0

Die Antwort ist offenbar die layout_width und layout_height params für ein gridlayout Angabe zu verwenden, wo sie innerhalb eines relativeLayout (in diesem Fall sein müssen, ich weiß, ich bin mit einem 1200 x 600 Gerät, aber ich bin sicher, dass es einen besseren Weg, um darüber zu gehen.

<GridLayout 
     android:layout_width="500px" 
     android:layout_height="100px" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/NORTH"> 
</GridLayout> 

<GridLayout 
     android:layout_width="500px" 
     android:layout_height="100px" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:id="@+id/SOUTH"> 
</GridLayout> 

<GridLayout 
     android:layout_width="100px" 
     android:layout_height="500px" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true" 
     android:id="@+id/WEST"> 
</GridLayout> 

<GridLayout 
     android:layout_width="100px" 
     android:layout_height="500px" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:id="@+id/EAST"> 
Verwandte Themen