我有一个linearLayout,其中包含两个FrameLayout。在执行横向模式时,我将其中之一的可见性设置为 Gone 。当我返回人像模式时,将可见性设置为 VISIBLE 。我使用 GONE 是因为我不想保留不可见元素的位置。
结果:
返回纵向模式时,两个FrameLayout会更改位置。
情况:
答案 0 :(得分:1)
您可以尝试使用由linearlayout设置的constraintlayout并放置指导线
答案 1 :(得分:0)
最好同时添加横向/纵向布局文件,并且不再有任何问题。
答案 2 :(得分:-1)
这来自official doc:
已消失:完全隐藏,就好像没有添加视图一样。
因此,当您再次将FrameLayout设置为可见时,就好像您再次添加它并占据了最后一个位置。
我建议您删除并添加视图,而不是使其可见并消失。
添加时,将addView
方法与index参数一起使用以使其处于第一位置:
linearLayout.addView(frameLayout,0);