Собственный вид в MasterDetailPage Xamarin Android

У меня есть представление карты, которое я пытаюсь создать, но оно немного более продвинутое, чем реализация карты, предоставляемая Xamarin.Forms. Мне интересно, есть ли шаблон для встраивания собственного представления на главную страницу сведений.

В примере изображения верхняя панель навигации будет построена в Xamarin, а часть содержимого, выделенная фиолетовым цветом, должна создаваться индивидуально для каждой платформы.

введите здесь описание изображения


person BillPull    schedule 13.10.2014    source источник


Ответы (2)


Обычно это место, где рендерер может вступить во владение.

См. раздел Настройка элементов управления для каждой платформы и образец Forms2Native.

Вы должны создать MapContentPage, который будет расширять ContentPage и иметь атрибут сверху:

[сборка: ExportRenderer (typeof (MapContentPage), typeof (MapContentPageRenderer))]

затем вы создадите средство визуализации для Android с именем MapContentPageRenderer, а в его OnElementChanged вы создадите экземпляр карты, используя «обычный» код Mono для Android.

person Benoit Jadinon    schedule 13.10.2014

Вам нужно будет реализовать собственный модуль визуализации для создания пользовательской реализации карты в вашем собственном элементе управления, так как элемент управления Xamarin.Forms Map в настоящее время довольно ограничен, как вы уже знаете. .

Каждый модуль визуализации ориентирован на определенную платформу (iOS, Android, Windows Phone). Так, например, с Android вы создадите собственный рендерер на основе элемента управления картой для конкретной платформы для Android и т. д.

После этого вы сможете создавать функциональные возможности для каждого средства визуализации элементов управления для конкретной платформы на основе вашего общего представления, которое будет отображать вашу модель, которую вы хотите использовать на странице Xamarin.Forms.

Существует полезное видео здесь, в котором подробно рассказывается о том, как для создания пользовательских средств визуализации, которые могут оказаться полезными.

В основном все, что вы можете сделать на платформе Android и т. д., можно поместить в пользовательский модуль визуализации, чтобы затем использовать его как часть кросс-платформенной страницы Xamarin.Forms.

person Pete    schedule 13.10.2014