如何将设置活动合并到主要活动?

时间:2012-11-22 11:45:26

标签: android android-activity fragment

首先我不想合并布局,因为主要活动是渲染3D场景,所以没有空间可以做到。

我想合并这两个活动的原因是当我调用设置活动时,主要活动将进入休眠状态。当我完成设置并唤醒主要活动时,上下文将丢失,并且必须重新创建表面。由于场景数据很大,因此浪费了大量时间。所以我想要的是让主活动在没有onPause的情况下运行并完成设置。

顺便说一下,设置是关于设置距离和投影尺寸的值。它需要一些复选框和搜索栏。

如果您认为PreferenceFragment是解决此问题的方法,请教我如何在菜单选项中使用它?

我是android新手。提前谢谢。

1 个答案:

答案 0 :(得分:0)

合并布局并不排除您尝试做的事情。您可以通过创建具有两个子级(布局本身)的更高级别FrameLayout来合并它们。然后,您的代码确保一次只能看到这两个孩子中的一个。

例如......

<FrameLayout android:id="@+id/NewRootLayout" ...>
    <LinearLayout android:id="@+id/MyPreferencesLayout" android:visibility="gone" ...>
        ....
    </LinearLayout>

    <WhateverLayout android:id="@+id/MyPrimaryLayout" android:visibility="visible" ...>
        ....
    </WhateverLayout>
</FrameLayout>

现在在代码中,当您想要从一种布局切换到另一种布局时,您只需执行以下操作:

MyPreferencesLayout.setVisibility(View.VISIBLE);
MyPrimaryLayout.setVisibility(View.GONE);

(来自UI线程)。