我必须在Android设备上使用复选框,输入字段等重新创建一些非常长的表单。
我正在解决这个问题只是硬编码,但它是如此庞大的领域,它看起来效率不高。
我已在下面附上截图,以便您了解。
答案 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