android - 如何将设置 Activity 合并到主要 Activity ?

标签 android android-activity fragment

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

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

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

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

我是安卓新手。提前致谢。

最佳答案

合并布局并不妨碍您尝试做的事情。您可以通过创建具有两个子项(布局本身)的更高级别的 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 线程内)。

关于android - 如何将设置 Activity 合并到主要 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13512101/

相关文章:

java - Android - fragment 中的适配器问题

android - 如何在 Activity 之间向前导航,同时从堆栈中丢弃登录屏幕?

android - 如何将字符串从一项 Activity 发送到另一项 Activity ?

Android Activity 在进入后台后两次收到相同的 Intent

android - 更新 fragment 布局

java - Android keystore 已损坏

在重新启动之前,Android AppWidget 不会显示在 hive 的菜单中

android - Android 中的 float 视频播放器?

java - Android 上的着色图像处理

android - 如何从 Activity 迁移到 fragment