Android布局自身重叠

时间:2012-10-10 10:21:21

标签: android android-layout

我在我的应用中使用片段。以下是我的应用程序的屏幕截图。在活动发布时,一切看起来都很好。但是,当我更改屏幕方向时,布局会在滚动时重叠。有什么想法是错的吗?

编辑(解决方案):
我发现了什么是错的。在方向变化上添加了一个新片段。我之前使用的是fragmentTransaction.add(...),我将其替换为replace方法。

1 个答案:

答案 0 :(得分:0)

为了未来的理解......

您最有可能在活动的onCreate()中添加您的片段。

当您的设备旋转时,您的活动将被销毁并重新创建,但它也会重新创建任何添加的片段。

考虑到这两件事......

  1. onCreate被调用,您将片段添加到您的活动中。你有一个片段。
  2. 您旋转屏幕。
  3. 活动被销毁并重新创建。您的片段将被销毁并重新创建。你还有一个片段。
  4. 您的活动会将onCreate()作为其重新创建的一部分,这会为您的活动添加一个片段。你现在有两个片段。
  5. 如果您的一个或两个片段具有透明背景,则两者都可以同时显示,这可能是这种情况。

    使用replace而不是add(已经完成),或者更好,只有在savedInstanceState为空时才在onCreate()中添加片段。如果它为null,则表示它是第一个onCreate()调用。