2016-10-03 86 views
0

我想添加一個可滾動菜單到移動應用程序頁面。
這裏Transfer,Accounts,Payment和Transaction是從XML文件生成的。
其餘的是靜態佈局。

我正在使用Xamarin.Forms。
我想知道如何動態生成UI組件,並使用Xamarin.Forms將它們附加到佔位符。Xamarin.Forms中的動態用戶界面

Screenshot

+0

有許多使用XAML編程並在Xamarin站點上編程的UI示例。你不明白什麼? – Jason

+0

@Jason我希望人們提出他們如何實現目標的想法。那樣的話,如果我看到一個比我有更好的解決方案,我可以採用這個解決方案。如果我的解決方案比所有提出的解決方案都好,或者如果沒有解決方案,我可以發佈我的解決方案。這就是我學習編碼的方式,在這樣的問答網站上完成這些工作的人幫助我節省了數小時的工作時間。我想我有一個有效的問題。 –

+0

@SandahAung這是一個有效的問題。也就是說,我建議你先發布你的解決方案,並要求批評你的解決方案是否給你提供了問題。 – techsaint

回答

2

動態UI的創建是簡單的喜歡的人說,有很多這樣的例子。但我認爲問題是根據您的需求創建您自己的控制。例如我結束了它與圖像寫我自己的按鈕,像這樣:

enter image description here

所以,你必須編寫創建垂直堆疊佈局的方法(可以說外部容器),並添加一個水平容器到那個「外部容器」(可以說是內部容器),而不是添加一個圖像和一個標籤到這個「內部容器」,並使「innerContainer.Horizo​​ntalOptions = LayoutOptions.Center」等等如果你想邊界它變得複雜:)

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 

所以你必須加入像這種層次的控制。首先想想如何用現有的控件繪製你的控件而不是代碼:)希望我讓自己清楚。

+0

在表單元格中小心使用此策略。像這樣嵌套StackLayouts可能會有顯着的性能損失。 –