Что такое средство визуализации платформы для StackLayout? - PullRequest
1 голос
/ 30 января 2020

Я просматриваю исходники Xamarin все утро и не могу выяснить, какой рендерер / VisualElement отвечает за StackLayout любой из платформ. Каков источник, который преобразует LinearLayout в платформу, определяющую c представление?

Ответы [ 2 ]

0 голосов
/ 30 января 2020

Да, StackLayoutRenderer - это то, что все ожидают, что Xamarin добьется цели. Однако в Xamarin такого нет.

Xamarin обрабатывает внутреннее преобразование определенных макетов в самом ViewRenderer<TView, TNativeView>. Они сопоставлены с соответствующими NativeViews. Как вы упомянули, нет никаких явных файлов, которые я мог бы видеть, чтобы быть уверенным или требовать на это. С тех пор, как я начал работать в Xamarin, я также не уверен в этом.

Однако я считаю, что StackLayout внутренне сопоставлен либо с RelativeLayout, либо с ViewGroup, что я мог подтвердить, увидев приведенное ниже VisualTree. Я получил это дерево при загрузке записи и метки внутри StackLayout.

Android Visual Tree

Может быть, посмотрите на файлы классов ViewRenderer и VisualElementRenderer в каждом родном рендерере, чтобы иметь представление.

0 голосов
/ 30 января 2020

в соответствии с документами , Android использует View и iOS использует UIView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...