问题描述
我正在尝试使用与应用程序默认设置不同的主题来填充布局,并像这样进行操作:
final View view = context.getLayoutInflater().cloneInContext(new ContextThemeWrapper(context, getThemeForView())).inflate(R.layout.some_layout, root, false);
第一次完成时,视图没有我想要的主题,但有主应用程序主题。 几分钟后重新创建视图时,它具有正确的主题。 为什么第一次创建视图时主题不同?
编辑:我无法设置android:theme
因为我的主题是动态的。
1楼
我首先在Activity.onCreate
创建了视图。
通过一些测试,我发现如果我在Activity.onWindowFocusChanged(boolean hasFocus)
创建视图,并且hasFocus == true
可以正常工作。
我仍然不确定为什么。
2楼
你可以加
android:theme="@style/some_theme"
清单文件中的活动。