1

Недавно я начал использовать Xamarin.Forms для проекта. Как упоминается в документации, это отлично подходит для прототипирования. Тем не менее, я действительно начинаю замечать ограничения общих концепций дизайна пользовательского интерфейса. В частности, усугубляется невозможность установить пользовательское содержимое кнопки (например, изображение). Я уверен, что будет несколько случаев, когда я захочу изменить работу элементов управления.Xamarin.Forms + Custom Renderers vs. Xamarin.iOS/Xamarin.Android

Как я вижу, есть два пути, которые я мог бы предпринять. Во-первых, продолжайте использовать Xamarin.Forms и используйте собственные средства визуализации. Учитывая, что мне все же хотелось бы, чтобы мой код пользовательского интерфейса был общим, но также настроен из основных элементов управления Xamarin.Forms, я склоняюсь к этому варианту. Два, используйте собственные проекты Xamarin (Xamarin.iOS, Xamarin.Android). Это дало бы мне полный контроль над пользовательским интерфейсом для каждой платформы, но это также означало бы больше кода для поддержки.

Как я уже упоминал, в настоящее время я предпочитаю использовать пользовательские средства визуализации с помощью Xamarin.Forms. Могу ли я получить представление о тех, кто использовал один или (желательно) оба варианта?

ответ

5

В основном я использовал Xamarin.Forms. Для правильных видов приложений (те, которые, к примеру, «Forms»), это работает очень хорошо.

Написание собственных средств визуализации не так уж и сложно, но документация, к сожалению, не такая уж большая. В зависимости от того, что вы делаете, это может быть немного сложным, иногда переводимым между нативным элементом управления и механизмом компоновки форм. Однако, как только вы получите это, это имеет смысл, и теперь, когда код является открытым исходным кодом, вы можете заглянуть внутрь, чтобы увидеть, как работают «встроенные» элементы управления.

Существуют различные расширения, которые добавляют дополнительные элементы управления. Некоторые из них бесплатны и с открытым исходным кодом, например, XLabs.Forms. Так что контроль, который вам нужен, может быть уже там.

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

Надеюсь, что это поможет!

+0

Спасибо, я не знал, что есть расширения для Xamarin. –

+0

Не могу договориться подробнее! Хорошо сказано @DavidS –

2

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

Для сложных приложений советую вам начать работу с Xamarin Ios и Android. Это займет больше времени, чтобы взять на себя ответственность, но вы увидите, что это гораздо более разрешительный

Смежные вопросы