使用框架布局来渲染多个视图

时间:2013-02-02 22:36:51

标签: android android-layout

我通常用一个表示一个布局的片段来组织我的代码/逻辑。现在我需要几个相对简单的表单来从用户那里获取输入数据,这在目的上有些相关。

说我有3个屏幕,我可以创建3个片段来处理它们(显示视图,读取输入,提交,...)。或者我应该使用一个片段,并使用FrameLayout创建一堆布局。我想的是,堆叠所有3个视图并隐藏/显示我喜欢的视图。但是documentation

  

通常,FrameLayout应该用于保存单个子视图,   因为以某种方式组织儿童观点可能很困难   可扩展到不同的屏幕尺寸,不会让孩子重叠   彼此

有任何好方法可以做到这一点,或者我应该为此创建多个片段(这方面的缺点是很多小类和重复代码。我可能会使用基类,仍然喜欢探索其他选项)

感谢。

1 个答案:

答案 0 :(得分:1)

如果视图在FrameLayout中相互重叠,或者事实上它们假设重叠,听起来你真的不在乎这么多,因为你希望只显示一次一个。 FrameLayout当然可以显示堆叠的子视图,每个视图都可以完全占据其宽度和高度,如果您将未使用的视图的可见性设置为INVISIBLEGONE,则它们将不会拦截如果屏幕恰好位于用户正在与之交互的可见视图上方,则屏幕按下或获取焦点。

在可读性和代码维护方面,我认为交换片段更有意义,即使有更多的内存开销。布局管理可以封装在各个片段中,您无需担心显示/隐藏视图,因为片段事务将处理该方面。