我最近与我的团队讨论了Xamarin.Form布局,他们认为Xamarin.Forms.AbsoluteLayout很脆弱且难以使用(我个人认为它们非常方便,特别是对于比例布局,以及我记得阅读的所有内容,通常不是性能问题).他们引用了this article,它说避免使用AbsoluteLayouts – 但这是一篇特定于Android的文章,它指的是Android.Widget.AbsoluteLayout.
所以这让我思考…… Xamarin.Forms.Layout以某种方式转换成Android.Widget.AbsoluteLayout(我认为它们完全不同,因为Xamarin.Forms允许按比例调整大小/位置)? Xamarin.Forms如何将各种布局转换为特定于平台的布局?
解决方法:
Xamarin Forms中的布局与本机平台上的布局不同. XF Absolute Layout不仅仅是Android AbsoluteLayout的包装器.
XF中的布局类似于它们在WPF和其他Microsoft平台中的工作方式.布局首先要求所有孩子给它一个首选尺寸(测量).然后它使用它的逻辑来安排它的孩子.内置控件包装现有的本机控件(例如,iOS上的UITextBox和Android上的EditText的条目映射).