(Android Preference)Fragment替换Activity的所有内容

时间:2016-02-26 18:58:46

标签: android android-fragments sharedpreferences

我有一个包含多个按钮和文本元素的Activity。这些元素驻留在Activity本身,而不是片段内。

但是,我希望能够用PreferencesScreen片段替换所有这些内容。这是否可行,而不将我希望删除的活动中的其余内容放入片段然后调用.replace()函数?

目前我做

getFragmentManager().beginTransaction() 
                    .replace(android.R.id.content, new ProfileFragment())
                    .commit();

但这只是将ProfileFragment 置于我的Activity之上。它覆盖了它。所以我看到并且可以与ProfileFragment交互,但我也看到了Acitvity的其他内容。

再次说明:我希望能够使用PreferencesScreen片段替换Activity的所有内容。这是否可行,而不将我希望删除的活动中的其余内容放入片段然后调用.replace()函数?

1 个答案:

答案 0 :(得分:0)

如果您只想隐藏活动内容,请按照以下步骤设置首选项片段的背景颜色(使用PreferenceFragmentCompat进行测试)。

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    view.setBackgroundColor(Color.WHITE);
}

请注意,设置通常会在新活动中打开(如在Google应用中)。

如果您正在使用PreferenceFragmentCompat,这些SO答案可能会对您有所帮助。

样式问题:https://stackoverflow.com/a/32108439/2627680

打开内部偏好设置屏幕:https://stackoverflow.com/a/32540395/2627680