Динамический пользовательский интерфейс в Xamarin.Формы

#xamarin.forms

#xamarin.forms

Вопрос:

Я хотел бы добавить прокручиваемое меню на страницу мобильного приложения.
Здесь передача, учетные записи, оплата и транзакция генерируются из XML-файла.
Остальное — статический макет.

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

Скриншот

Комментарии:

1. на сайте Xamarin есть множество примеров создания пользовательского интерфейса с помощью XAML и программно. Что конкретно вы не понимаете?

2. @Jason Я хочу, чтобы люди предлагали свои идеи о том, как достичь цели. Таким образом, если я вижу решение, которое лучше, чем у меня есть, я могу принять это решение. Если мое решение лучше, чем все предложенные решения, или если решение не предложено, я могу опубликовать свое решение. Так я учусь программировать, и люди, которые делали это на сайтах вопросов и ответов, подобных этому, помогли мне сэкономить часы работы. Я думаю, у меня есть правильный вопрос.

3. @SandahAung Это правильный вопрос. Тем не менее, я бы рекомендовал вам сначала опубликовать свое решение и попросить критику, если ваше решение вызывает у вас проблемы.

Ответ №1:

Создание динамического пользовательского интерфейса просто, как говорили люди, и есть много примеров. Но я думаю, что проблема заключается в создании собственного элемента управления в соответствии с вашими потребностями. Например, я закончил тем, что написал свою собственную кнопку с изображением в ней следующим образом:

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

Итак, вам нужно написать метод, который создает вертикальный макет стека (скажем, внешний контейнер) и добавляет горизонтальный контейнер к этому «внешнему контейнеру» (скажем, внутреннему контейнеру), чем добавлять изображение и метку к этому «внутреннему контейнеру» и создавать «innerContainer.HorizontalOptions = LayoutOptions.Центр» и т.д. Если вам нужна граница, это усложняется 🙂

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

 Vertical Stack (whole container)
->Vertical Stack (height 2px) upper border
->Horizontal Stack (to hold middle controls,left border,inner image and text holder, right border etc.)
    ->Horizontal Stack (width 2 px) left border
    ->Vertical Stack (layoutOptions=Fillandexpand)
        ->Image (layoutOptions=Center)
        ->Label (layoutOptions=Center)
    ->Horizontal Stack (width 2 px) right border
->Vertical Stack (height 2px) lower border
  

Итак, вы должны присоединиться к элементам управления, подобным этой иерархии. Сначала подумайте, как вы можете нарисовать свой элемент управления с помощью существующих элементов управления, а не кодировать его 🙂 Надеюсь, я прояснил себя.

Комментарии:

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

Ответ №2:

я думаю, вы можете использовать «Представление коллекции», которое является новой функцией xamarin.forms, или «привязываемый макет», чтобы сделать его динамичным.

Комментарии:

1. Пожалуйста, уточните