我正在尝试为活动中的片段设置主题。
当我使用Set a theme for a fragment中所述的充气机在片段的onCreate函数中设置片段主题时,如下所示:
var contextThemeWrapper = ContextThemeWrapper(getActivity(), R.style.FragmentTheme);
var localInflater = inflater.cloneInContext(contextThemeWrapper)
return localInflater.inflate(R.layout.fragment_component_indicator, container, false)
或在片段XML的布局中,该片段的主题无效。
使用Layout Inspector,我看到该主题确实添加到了片段布局中,但是活动主题仍然存在:
关于如何设置片段主题的任何提示吗?
谢谢。
答案 0 :(得分:0)
您可以尝试使用Fragment.onGetLayoutInflater()
方法覆盖上下文主题。这是片段视图尚未膨胀的地方。
override fun onGetLayoutInflater(savedInstanceState: Bundle?): LayoutInflater {
context?.setTheme(R.style.Theme_AppName_Light)
return super.onGetLayoutInflater(savedInstanceState)
}