有没有办法更改碎片主题?

3

我目前在我的项目中使用“导航组件”,采用“单活动”方法。 我的每个片段都有透明状态栏和不同的windowBackground。 我正在寻找一种方法来更改片段的windowBackground,而不影响其他片段。

我尝试了这里提到的解决方案: https://dev59.com/9Gox5IYBdhLWcg3wDgEz#15496425 但它没有起作用。 我找不到任何与这个“单活动”方法相关的东西。 有人能帮忙吗?

1个回答

1
使用ContextThemeWrapper为片段提供不同的主题。在应用ContextThemeWrapper时,您的minSDKVersion应该是>=11。
在片段的onCreateView方法中使用此方法。
final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), R.style.yourCustomTheme);

2
这不会影响窗口标志,例如用于透明状态栏或窗口背景的标志。如果您尝试为片段内的视图采用此方法,则只需将android:theme添加到片段布局的根即可获得更好的效果。 - ianhanniballake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接