我希望在线性布局中有一个表格布局,以便在表格布局之前和之后有文字。问题是我希望能够在2个表(Table1和Table2)之间切换,但保持文本在前后相同。我认为这可以通过tablelayout的可见和不可见功能进行管理,并在一个布局中定义整个事物,但这似乎并非如此。我得到的是,当我使Table2可见并且Table1不可见时,Table2向下移动,因为我已经在布局中的表1之后定义它。
我想要的是: - SomeTextHere 表格1 SomeTextHere也是
或
SomeTextHere 表2 SomeTextHere也是
我得到的是: -
SomeTextHere 表格1 SomeTextHere也是
SomeTextHere
表2 SomeTextHere也是
我试过了: -
的LinearLayout TableLayout1可见 TableLayout2变得不可见 的LinearLayout
有什么想法吗?
答案 0 :(得分:0)
如果我的问题正确,我认为您可以做的是在主LinearLayout中再添加两个LinearLayout。然后将组(文本,表格,文本)放在每个LinearLayout中,然后您可以使用每个线性布局而不是使用文本,表格,文本
这样您的布局层次结构就像
< LinearLayout>
< LinearLayout>
< Text>
< TableLayout>
< Text>
< /LinearLayout>
< LinearLayout>
< Text>
< TableLayout>
< Text
< /LinearLayout>
< /LinearLayout>
答案 1 :(得分:0)
您的问题是您正在使用View.INVISIBLE来隐藏这些部分。如果希望视图不占用布局中的空间,则需要使用View.GONE。
此外,如果只更改了表,那么您不需要复制只是将表一个接一个地放置,并设置默认设置为不可见的那个的可见性设置为消失。然后你可以在代码中切换它们。