2016-10-03 89 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可能会有显着的性能损失。 –