设置可见性后如何固定线性布局项目的位置?



>我有一个包含两个FrameLayout的linearLayout。当我执行横向模式时,我将其中一个的可见性设置为消失。当我返回纵向模式时,我将可见性设置为 可见 .我正在使用GONE,因为我不想要不可见元素的保留位置。

结果:

返回纵向模式时,两个帧布局会更改位置。

例:

  • 当我选择第一个框架布局以传递到横向时,第二个框架会更改位置。
  • 当我选择第二个框架布局以传递到横向时,第一个框架会更改位置。

您可以尝试使用约束布局而不是线性布局和放置指南

这是来自官方文档:

消失:完全隐藏,好像没有添加视图一样。

因此,当您再次设置框架布局时,就好像您再次添加它并且它占据最后一个位置一样。

我建议您删除并添加视图,而不是使其可见并消失。 添加它时,将addView方法与 index 参数一起使用,使其占据第一个位置:

linearLayout.addView(frameLayout,0);

最新更新