J'ai récemment eu une discussion avec mon équipe sur les mises en page Xamarin.Form, et ils pensaient que Xamarin.Forms.AbsoluteLayout était fragile et difficile à travailler (personnellement, je pense qu'ils sont très pratiques surtout pour les mises en page proportionnelles, et de tout ce dont je me souviens , ils ne sont généralement pas un problème de performance). Ils ont référencé this article, qui a dit d'éviter d'utiliser AbsoluteLayouts - mais qui était un article spécifique à Android, et il faisait référence à Android.Widget.AbsoluteLayout.Comment les mises en page Xamarin.Forms sont-elles traduites en mises en page spécifiques à la plate-forme?
Alors ça m'a fait penser ... est-ce que Xamarin.Forms.Layout se traduit en quelque sorte en Android.Widget.AbsoluteLayout (je pense qu'ils sont complètement différents puisque Xamarin.Forms permet une taille/position proportionnelle)? Comment est-ce que Xamarin.Forms traduit diverses dispositions dans des dispositions spécifiques à la plate-forme?
https://github.com/xamarin/Xamarin.Forms – Jason
Très bien, merci pour la référence, je vais essayer de creuser dans le code et de découvrir la réponse. Diriez-vous d'éviter catégoriquement Xamarin.Forms.AbsoluteLayout? – jbyrd
@jbyrd La ligne de fond pour un 'Android.Views.View' est que' VisualElementTracker' basé sur Forms 'appelle directement la méthode native 'View.Layout' avec les paramètres' x, y, width, height' pour relier les contrôles placement. Forms a son propre gestionnaire de disposition basé sur la hiérarchie parent qui effectue les calculs. J'ai un client qui a remplacé l'ensemble du système de mise en page Forms avec une conversion native aux contraintes LayoutParams et iOS d'Android, il a une conversion de build basée sur Fody et un système de cache d'exécution et atteint presque la vitesse de mise en page native. directeur. – SushiHangover