2012-01-06 2 views
0

Мне нужно воссоздать несколько чрезвычайно длинных форм с флажками, полями ввода и т. Д. На устройствах Android.Эффективный способ создания длинных форм

Я собирался об этом просто жестко кодировать все, но это такое огромное количество полей, это не кажется очень эффективным.

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

enter image description here

ответ

0

я думаю, что вы можете создать ListView. И в каждой строке у вас будет TextView и 3 флажка. Также вы можете персонализировать строку, и вы скажете, например, if (row == 3), затем нарисуйте текст и отредактируйте текст. Это лучший подход, я думаю.

0

У вас может быть несколько вариантов для каждой операции и «прокрутка» через форму, нажав кнопку «Далее» в нижней части экрана, чтобы перейти к следующим параметрам.

Таким образом, у вас нет огромного списка для прокрутки, что, возможно, может привести к тому, что пользователь упустит опцию.

1

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

Else разделить ваши поля на части и иметь вкладки архитектуры или нескольких видов деятельности.

0

Я думаю, что лучший подход здесь состоит в том, чтобы разделить всю форму на части и поместить их внутри некоторого количества видов деятельности. Каждая часть формы не должна быть прокручиваемой, то есть флажки должны помещаться на экране. У каждого действия должна быть кнопка «Далее», и вы должны также помещать какой-то индикатор прогресса в каждое действие, информируя пользователя о том, сколько осталось идти. Надеюсь это поможет.

0

Основываясь на идее Дани, создайте представление списка в своем макете XML, затем создайте макет строки в новом XML-файле. В этом макете строки (например, chkboxRow.xml) у вас будет строка вида списка, определенная как текстовое окно и три флажка.

Вы также можете создать макет других строк аналогичным образом.

Теперь в вашем адаптере View List вам нужно будет подать список (массив) строк, которые вам понадобятся. Затем адаптер может использовать этот список, чтобы получить необходимое количество строк. Если каждый элемент в списке является Dictionary<String, String> то вы можете дать атрибуты строки:

Список пунктов:

[1]:{ rowTitle:"First row", rowStyle:"chkbox", rowID:"123" } 
[2]:{ rowTitle:"Second row", rowStyle:"picker", rowID:"124", items:((List)[1]:"first item",[2]:"Second item") } 

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

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

1

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

Вы можете использовать библиотеку с открытым исходным кодом @Roman Нурик: Android WizardPager

0

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

В любом случае, я недавно выпустил проект с открытым исходным кодом, целью которого является упрощение форм здания на Android. Он поддерживает текстовые поля, метки, списки выбора, подборщики даты и т. Д. Проверьте это здесь:

NexusDialog: https://github.com/dkharrat/NexusDialog

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