我有一个包含多个按钮和文本元素的活动。这些元素驻留在活动本身中,而不是片段中。
但是,我希望能够用首选项屏幕片段替换所有这些内容。如果不将我想要删除的 Activity 中的其余内容放入片段中,然后调用 .replace()
函数,这是否完全可能?
目前我做
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new ProfileFragment())
.commit();
但这只会将配置文件片段放在我的活动之上。它覆盖它。所以我看到并且可以与ProfileFragment进行交互,但我也看到了下面的Acitvity的其余内容。
再次重申:我希望能够将我的活动的所有内容替换为首选项屏幕片段。如果不将我想要删除的 Activity 中的其余内容放入片段中,然后调用 .replace()
函数,这是否可能?
如果您只想隐藏活动内容,请按以下步骤设置首选项片段的背景颜色(使用 PpreferencesFragmentCompat 测试)。
@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