Задача: разработка заготовки приложения для Android с использованием среды Visual Studio 2015, языка C# и элементов управления Xamarin Forms. Приложение должно запускаться как на устройстве, так и на встроенном эмуляторе.
Условием передачи проекта исполнителю является предварительная демонстрация наиболее сложной функциональности, описанной разделом 2 «рабочая область» в части масштабирования, перемещения и протяжки.
Приложение должно содержать две страницы: «главное меню» и «рабочая область». Описанная ниже функциональность является обязательной, при этом внешний вид (по согласованию) может незначительно отличаться от макета, если это связано с особенностями реализации/отображения элементов управления в операционной системе.
Раздел 1. Главное меню
Страница главного меню содержит две закладки.
На первой закладке кнопки «Начать» и «Выход». Кнопка «Начать» выполняет переход к рабочей области, кнопка «Выход» закрывает приложение.
На второй закладке таблица или список, заполняемая динамически на основе набора данных. Элемент данных таблицы/списка описывается типом TestDataItem (см. ниже). Внешний вид элемента таблицы/списка должен описываться шаблоном.
public class TestDataItem
{
public String Name { get; set; }
public Int32 Number { get; set; }
public Boolean IsStar { get; set; }
}
Изображение (звездочка/окружность) должно зависеть от значения логического свойства IsStar.
При нажатии на элементе таблицы/списка необходимо выводить сообщение со значением свойства Number нажатого элемента списка.
Раздел 2. Рабочая область
Рабочая область, как показано на рисунке, больше экрана, поэтому должно поддерживаться масштабирование и перетаскивание. Размер рабочей области задается программно, на ней следует нарисовать сетку (таблицу) и в каждой ячейке вывести текст в формате [номер строки, номер колонки]. В нижней части экрана присутствуют три кнопки: «увеличение масштаба» (+), «уменьшение масштаба» (-), «перетаскивание/протяжка» (на рисунке «1»). В верхней части экрана текстовое поле для отладочного вывода (textInfo). Первая и вторая кнопки должны увеличивать и уменьшать масштаб соответственно. При увеличении масштаба ячейки приближаются, при уменьшении удаляются. Масштабирование должно выполняться относительно центра экрана. Третья кнопка может находиться в одном из двух состояний: «перетаскивание» («1») или «протяжка» («2»).
При нажатии на рабочем поле необходимо выводить в textInfo координаты ячейки, на которой было выполнено нажатие.
Функциональность кнопки «перетаскивание/протяжка»
В режиме «перетаскивание» непрерывное движение курсора по экрану должно приводить к перемещению рабочей области, при этом перемещение должно происходить плавно и пропорционально перемещению курсора. Должна быть возможность перемещения путем перетаскивания в любую часть рабочей области. Если масштаб установлен таким образом, что на экране отображается рабочая область целиком, попытка перетаскивания не должна приводить ни к какому результату.
В режиме «протяжка» движение курсора по экрану должно выводить в textInfo на экран координаты ячейки, над которой выполняется перемещение. При этом рабочая область остается неподвижной.
Кроме основных элементов управления на рабочей области должно присутствовать вспомогательное меню («В начало»), позволяющее возвратиться в главное меню. С помощью кнопки «Начать» в главном меню и меню «В начало» должна быть возможность неограниченное число раз перемещаться между страницами приложения.
Опубликован 16.09.2016 в 23:34
Заказ находится в архиве