2016-10-03 1 views
0

Ich möchte einer mobilen App-Seite ein scrollbares Menü hinzufügen.
Hier werden Übertragung, Konten, Zahlung und Transaktion aus einer XML-Datei generiert.
Der Rest ist statisches Layout.

Ich benutze Xamarin.Forms.
Ich würde gerne wissen, wie UI-Komponenten dynamisch generieren und an einen Platzhalter mit Xamarin.Forms anfügen.Dynamische Benutzeroberfläche in Xamarin.Forms

Screenshot

+0

Es gibt zahlreiche Beispiele zum Erstellen von UI mit XAML und programmatisch auf der Xamarin-Site. Was genau verstehst du nicht? – Jason

+0

@Jason Ich möchte, dass die Leute ihre Ideen entwickeln, wie sie das Ziel erreichen können. Auf diese Weise kann ich, wenn ich eine Lösung sehe, die besser ist als ich gekommen bin, diese Lösung übernehmen. Wenn meine Lösung besser ist als alle vorgeschlagenen Lösungen oder wenn keine Lösung vorgeschlagen wird, kann ich meine Lösung veröffentlichen. So lerne ich zu programmieren und Leute, die das auf Q & A-Seiten wie diesem getan haben, haben mir geholfen, Stunden Arbeit zu sparen. Ich denke, ich habe eine gültige Frage. –

+0

@SandahAung Es ist eine gültige Frage. Das heißt, ich würde empfehlen, dass Sie zuerst Ihre Lösung posten und um eine Kritik bitten, wenn Ihre Lösung Ihnen Probleme gibt. – techsaint

Antwort

2

Dynamische UI Schöpfung ist einfach wie die Leute sagten, und es gibt viele Beispiele. Aber ich denke, das Problem ist, Ihre eigene Kontrolle entsprechend Ihren Bedürfnissen zu schaffen. Zum Beispiel endete ich mit dem Bild meiner eigenen Knopf mit dem Schreiben von oben in das so:

enter image description here

Also müssen Sie eine Methode schreiben, die einen vertikalen Stapel Layout erstellt (lässt äußere Behälter sagen), und fügen Sie eine horizontale Container zu diesem "äußeren Container" (sagen wir inneren Container) als ein Bild und ein Label zu diesem "inneren Container" hinzufügen und "innerContainer.HorizontalOptions = LayoutOptions.Center" usw. Wenn Sie Grenze wollen, wird es kompliziert :)

enter image description here

Vertical Stack (whole container) 
->Vertical Stack (height 2px) upper border 
->Horizontal Stack (to hold middle controls,left border,inner image and text holder, right border etc.) 
    ->Horizontal Stack (width 2 px) left border 
    ->Vertical Stack (layoutOptions=Fillandexpand) 
     ->Image (layoutOptions=Center) 
     ->Label (layoutOptions=Center) 
    ->Horizontal Stack (width 2 px) right border 
->Vertical Stack (height 2px) lower border 

Also müssen Sie die Steuerelemente wie diese Hierarchen beitreten. Denken Sie zuerst, wie Sie Ihre Kontrolle mit vorhandenen Kontrollen zeichnen können, als es zu kodieren :) Hoffe, dass ich mir selbst klar gemacht habe.

+0

Seien Sie vorsichtig bei der Verwendung dieser Strategie in Tabellenzellen. Nesting StackLayouts wie dieses können dramatische Leistungseinbußen zur Folge haben. –