Kitty Опубликовано 29 июля, 2014 Поделиться Опубликовано 29 июля, 2014 У меня задача - при щелчке на строку в списке ListView, открыть дополнительное окно(?) или вкладку(?) Detail и там отредактировать значение, после редактирования вернуться в ListView. В моем случае редактироваться будет время. Как правильно спроектировать такое приложение? Какие еще есть правильные варианты открыть Detail кроме как щелкнуть по строке списка, может лучше чекбокс кликнуть? Хотелось бы спроектировать такое приложение для андроид, чтобы пользователю было удобно и просто. Сам список программно готов и выглядит так: Цитата Ссылка на комментарий
Виктор Опубликовано 30 июля, 2014 Поделиться Опубликовано 30 июля, 2014 Если у вас на клики по элементам ListView не будет больше никаких действий, то правильней будет если пользователь будет иметь возможность кликнуть в любую часть строки (для этого обработку клика надо делать всей строки, а элементам отключать HitTest). Галочек как и полос прокрутки на мобильных девайсах стоит по возможности избегать, по ним неудобно попадать. В качестве места для расположения редактора времени я бы предложил невидимую до нажатия панельку, это ускорит работу ибо не потребуются ресурсы на создания окна. Уточню, что я не в курсе как там дела именно на android-е, и можно ли там отрисовать панельку поверх других элементов формы. Но если можно это на мой взгляд лучший вариант. А область за панелькой просто затемнить в момент её появления, что бы сконцентрировать внимание пользователя на ней. Kitty 1 Цитата Ссылка на комментарий
Nix0N Опубликовано 30 июля, 2014 Поделиться Опубликовано 30 июля, 2014 Клик по item в ListView самый удачный и интуитивно-понятный вариант. Brovin Yaroslav и Kitty 2 Цитата Ссылка на комментарий
Администраторы Brovin Yaroslav Опубликовано 30 июля, 2014 Администраторы Поделиться Опубликовано 30 июля, 2014 (изменено) Клик по итему Как уже предыдущие пользователи правильно заметили, нажатие на итем в списке самый интуитивно понятный способ на мобильных платформах. По скольку это полностью совпадает с правилами построения пользовательского интерфейса на мобильных платформах. Не надо придумывать свои способы, когда уже есть стандартные. Этим вы только запутаете пользователя, привыкшего к общему принципу работы с любым приложением. Если вам такой способ нужен, то лучше перепроектируйте ваш интерфейс, чтобы этого избежать (смотрите пункт 1.) Открытие нового вида На счет этого, если вы делаете приложение под андроид, то я бы не рекомендовал для этих целей использовать TTabControl. По одной самой главной причине: Потребление дополнительных ресурсов. Заставляет форму создавать все контролы на всех вкладках, даже на тех, что не видны. Легко представить типичную ситуацию, когда ваше приложение довольно большое и содержит большое число форм ввода и редактирования данных. Теперь представьте, что все эти контролы создаются при запуске приложения и живут все время существования приложения. Это совсем не маленькие размеры памяти, особенно на Андроиде. Ресурсы мобильной платформа не равны ресурсам настольных платформ. И если на настольной системе вы можете особо не заморачиваться о размере потребляемой памяти, так как ее много. То на мобильнике это может привести к нехватке памяти и как следствие разрушение вашего приложения. Главная идея - это иметь в каждый момент времени только то, что нужно. Поэтому я бы лучше рассматривал либо создание отдельной формы, либо создание в рантайме специального слоя (вида), которые будет загружен по верх всего, а потом будет разрушен после окончания выполнения редактирования. Так же советую использовать фреймы для таких функционально законченных блоков (редакторы сущности): Позволяет быстро и удобно создавать в нужное время на мобильной платформе требуемый вид. Забирая от системы ресурсы только в тот момент, когда они действительно необходимы. Повторное использование в других местах приложения. Изменено 30 июля, 2014 пользователем Brovin Yaroslav Kitty, rareMax и Nix0N 3 Цитата Ссылка на комментарий
Kitty Опубликовано 2 августа, 2014 Автор Поделиться Опубликовано 2 августа, 2014 Спасибо, большое. Еще такой вопрос по интерфейсу Master-Detail: Вот тут демонстрация приложения созданного на Дельфи: https://www.youtube.com/watch?v=H37c-TjaFa8 Можно пошаговый урок, как создается такой мобильный интерфейс выдвижных панелек? Цитата Ссылка на комментарий
kvantum Опубликовано 9 января, 2015 Поделиться Опубликовано 9 января, 2015 Клик по итему Как уже предыдущие пользователи правильно заметили, нажатие на итем в списке самый интуитивно понятный способ на мобильных платформах. По скольку это полностью совпадает с правилами построения пользовательского интерфейса на мобильных платформах. Не надо придумывать свои способы, когда уже есть стандартные. Этим вы только запутаете пользователя, привыкшего к общему принципу работы с любым приложением. Если вам такой способ нужен, то лучше перепроектируйте ваш интерфейс, чтобы этого избежать (смотрите пункт 1.) Открытие нового вида На счет этого, если вы делаете приложение под андроид, то я бы не рекомендовал для этих целей использовать TTabControl. По одной самой главной причине: Потребление дополнительных ресурсов. Заставляет форму создавать все контролы на всех вкладках, даже на тех, что не видны. Легко представить типичную ситуацию, когда ваше приложение довольно большое и содержит большое число форм ввода и редактирования данных. Теперь представьте, что все эти контролы создаются при запуске приложения и живут все время существования приложения. Это совсем не маленькие размеры памяти, особенно на Андроиде. Ресурсы мобильной платформа не равны ресурсам настольных платформ. И если на настольной системе вы можете особо не заморачиваться о размере потребляемой памяти, так как ее много. То на мобильнике это может привести к нехватке памяти и как следствие разрушение вашего приложения. Главная идея - это иметь в каждый момент времени только то, что нужно. Поэтому я бы лучше рассматривал либо создание отдельной формы, либо создание в рантайме специального слоя (вида), которые будет загружен по верх всего, а потом будет разрушен после окончания выполнения редактирования. Так же советую использовать фреймы для таких функционально законченных блоков (редакторы сущности): Позволяет быстро и удобно создавать в нужное время на мобильной платформе требуемый вид. Забирая от системы ресурсы только в тот момент, когда они действительно необходимы. Повторное использование в других местах приложения. Здравствуйте ! Идея использования фреймов в мобильных приложениях конечно интересная. Но как быть для случая multi - device designer интерфейса, который реализован в XE7 ? Создавать отдельный фрейм для каждой платформы ? Но в этом случае будет затруднена синхронизация связей (кода) между элементами таких платфорно-ориентированных фреймов. Как быть ? Цитата Ссылка на комментарий
ruslan Опубликовано 10 января, 2015 Поделиться Опубликовано 10 января, 2015 зачем делать фреймы для каждой платформы ? сделайте 1 фрейм и юзайте его "универсально" Цитата Ссылка на комментарий
kvantum Опубликовано 10 января, 2015 Поделиться Опубликовано 10 января, 2015 Тогда теряется возможность использования мульти платформенного интерфейса. Цитата Ссылка на комментарий
ruslan Опубликовано 10 января, 2015 Поделиться Опубликовано 10 января, 2015 во-первых: отделяйте гуи от кода ! во вторых : раз у вас для каждой платформы обсолютно разная реализация интерфейса - сделайте базовую форму и рисуйте фрейм для каждой платформы в отдельных вьюхах. Цитата Ссылка на комментарий
kvantum Опубликовано 10 января, 2015 Поделиться Опубликовано 10 января, 2015 во-первых: отделяйте гуи от кода ! во вторых : раз у вас для каждой платформы обсолютно разная реализация интерфейса - сделайте базовую форму и рисуйте фрейм для каждой платформы в отдельных вьюхах Спасибо ! Поясните пожалуйста насчет "рисуйте фрейм для каждой платформы в отдельных вьюхах" Цитата Ссылка на комментарий
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.