设置可见性后如何在LinearLayout项目上固定位置?

时间:2018-08-21 15:58:00

标签: android android-layout

我有一个linearLayout,其中包含两个FrameLayout。在执行横向模式时,我将其中之一的可见性设置为 Gone 。当我返回人像模式时,将可见性设置为 VISIBLE 。我使用 GONE 是因为我不想保留不可见元素的位置。

结果:

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

情况:

  • 当我选择第一个frameLayout传递到横向时,第二个将更改位置。
  • 当我选择第二个frameLayout传递到风景时,第一个会更改位置。

3 个答案:

答案 0 :(得分:1)

您可以尝试使用由linearlayout设置的constraintlayout并放置指导线

答案 1 :(得分:0)

最好同时添加横向/纵向布局文件,并且不再有任何问题。

答案 2 :(得分:-1)

这来自official doc

  

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

因此,当您再次将FrameLayout设置为可见时,就好像您再次添加它并占据了最后一个位置。

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

 linearLayout.addView(frameLayout,0);