创建长表单的有效方法

时间:2012-01-06 08:41:22

标签: android

我必须在Android设备上使用复选框,输入字段等重新创建一些非常长的表单。

我正在解决这个问题只是硬编码,但它是如此庞大的领域,它看起来效率不高。

我已在下面附上截图,以便您了解。

enter image description here

7 个答案:

答案 0 :(得分:1)

首先,网络应用和移动应用的设计必须有所不同。
您可以使用网页浏览来打开此页面。

将您的字段分成几部分,并设置标签架构或多个活动。

答案 1 :(得分:1)

您可以将复杂的单页布局划分为多个步骤,每个步骤在单独的活动/片段中使用next / prev按钮,换句话说实现"向导"。

您可以使用@Roman Nurik的开源库:Android WizardPager

答案 2 :(得分:0)

我认为你可以创建一个ListView。并且在每一行上你都会有一个TextView和3个Checkboxes ..你也可以个性化这行,你可以告诉你例如if(row == 3)然后绘制textview和编辑文本。 这是我认为最好的方法。

答案 3 :(得分:0)

每个活动可以有几个选项,点击屏幕底部的“下一步”按钮,滚动浏览表单,然后转到下一个选项。

这样你就没有一个巨大的列表可以滚动,这可能会导致用户忽略一个选项。

答案 4 :(得分:0)

我认为,这里最好的方法是将整个表格分成几部分并将它们放在一些活动中。每个表单都不应该是可滚动的,这意味着复选框应该适合屏幕。每个活动都应该有一个Next按钮,你还应该在每个活动中放置一些进度条,通知用户还剩下多少。希望这会有所帮助。

答案 5 :(得分:0)

基于Dany的想法,在布局XML中创建一个列表视图,然后在新的XML文件中创建一个行布局。在此行布局(例如chkboxRow.xml)中,您将有一个列表视图行定义为textview和三个复选框。

您还可以以类似的方式创建其他行的布局。

现在,在列表视图适配器中,您需要输入您需要的行列表(数组)。然后,适配器可以使用此列表来获取所需的行数。如果列表中的每个项目都是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所需的行布局文件与布局过热器,您可以适当地自定义视图。

希望这有帮助。

答案 6 :(得分:0)

我建议你仔细考虑适合移动平台的用户界面,而你的房地产空间不大。您展示的屏幕截图可能适用于桌面,但不适合移动平台。

无论如何,我最近发布了一个开源项目,旨在简化Android上的构建表单。它支持文本字段,标签,选择列表,日期选择器等。请在此处查看:

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