在我的测验应用程序有3个测验模式: 多项选择,单选和填空的文本。Android - 最好的方式来存储多个布局变种
直到现在我实现了多种选择模式的布局,我使用复选框下面
这里。对于单一选择,我将使用单选按钮和填充空白文本文本字段。 我在相对布局内的一个额外的线性布局中打包复选框。 这意味着我只需要改变这种线性布局。
我应该在我的布局文件中为3种模式创建3个内部线性布局(并且默认情况下使它们不可见)?或者有更好的方法来处理这个问题。
在我的测验应用程序有3个测验模式: 多项选择,单选和填空的文本。Android - 最好的方式来存储多个布局变种
直到现在我实现了多种选择模式的布局,我使用复选框下面
这里。对于单一选择,我将使用单选按钮和填充空白文本文本字段。 我在相对布局内的一个额外的线性布局中打包复选框。 这意味着我只需要改变这种线性布局。
我应该在我的布局文件中为3种模式创建3个内部线性布局(并且默认情况下使它们不可见)?或者有更好的方法来处理这个问题。
我相信你应该有一个测验画面布局的单一布局文件,然后把选项部分的布局,最好的办法是定义一个包含唯一的选择要素,每题类型有点像独立的布局文件:
<LinearLayout>
<Checkbox/>
<Checkbox/>
<Checkbox/>
<Checkbox/>
<Checkbox/>
</LinearLayout> // Similarly for other types
然后,通过addView()
将它们添加到您的父母<RelativeLayout.../>
的测验布局中。通过这种方式,您的测验布局将与您的选项布局中的更改分开,并且还可以适应稍后添加更多问题类型(如果需要)。
谢谢,但是我如何在测验布局中为这些测验模式布局放置一个占位符? –
有多种方式可以通过编程方式添加布局,例如在另一个答案中提到的@ jt-gilkeson(使用'ViewStubs')。 – Shaishav
ViewStub可能是你正在寻找的。您可以包含多个布局,只需要扩充您需要的布局。
https://developer.android.com/reference/android/view/ViewStub.html
我会用碎片,装入取决于你所需要使用的布局正确的片段,所以你也可以有一个控制器的回答用户给予 –
@LucaNicoletti但是,他们会用布局太。我相信OP会询问什么是定义这些布局的最佳方式 – Shaishav
相对布局,总是最好的 –