2012-07-17 72 views
0

在我的应用程序中,我有一个要填充的表单,其中包含10-15个字段。所以我认为使它交互是有意义的,而不是一次显示所有10-15个字段。在Android中创建交互式布局的最佳方式

我想这是这样的:

应用:问题1为文本

用户:ANSWER1在EDITTEXT

应用和用户将是其各自ImageViews。

根据答案,将显示第二个问题。

方法1:已全部imageViews,TextViews和的EditText字段可见性设置为false,并做出回答前一个问题后他们看到(下一个问题文本将取决于答案)

其实我这样做,但有几个问题:

问题1:我使布局成为一个ScrollView,因此用户可以滚动到布局的底部(其中视图是不可见的),这告诉他这是一个很长的窗体,并且视图不可见。

问题2:所有的问题都TextViews,但所有的答案字段不EditText上,有些是微调,有些是复选框。所以根据以前的答案,如果我必须显示一个微调或复选框将不会工作(它会创建空的空间,如果我跳过任何不可见的视图,并为下一个视图)

方法2:动态创建所有视图这需要一定的时间,这是再次的Ux问题)

有没有更好的方式来实现我想要的?并请让我知道怎么我的一些问题1和2,如果有一个解决方案

回答

1

那么最简单的将是每个向导/问卷可能是一个单独的活动的“节”。

但是我更喜欢为这类任务添加和删除同一活动中的元素。

你可能要考虑的另一点是导航,即不仅前进到下一个问题,但要回到前一个。跟踪单个活动中的状态并不算太糟糕,但是切换到之前的活动可能会更简单,因为每个活动都只是跟踪其下一个和上一个活动。

+0

你的意思是,如果用户希望看到什么,他回答前面的问题,他需要按后退按钮多次 – 2012-07-17 09:47:17

+0

这取决于你如何摊开来每个问题必须有新的活动?......这样一来,正如我说的你可以用多个活动来完成,你可以在一个单独的活动中完成它,这完全取决于你,我不认为它是最佳实践,但作为一个设计决定,你希望你的用户如何交互与您的应用程序。 – 2012-07-17 09:49:22

+0

由第二点..“然而,我更喜欢增加和删除这种任务相同的活动中的元素。”你的意思是动态添加和删除视图? – 2012-07-17 09:52:12

2

使用ViewStub,而不是使无形的看法。这样它不会占用布局上的任何空间。