如何在运行时更改Android中的当前主题我创建了PreferenceActivity,允许用户选择要应用于整个应用程序的主题。当用户选择主题时,将执行以下代码:if (...) {
getApplication().setTheme(R.style.BlackTheme);} else {
getApplication().setTheme(R.style.LightTheme);}但是,即使我已经与调试器检查了代码正在执行中,我仍然看不到用户界面中的任何更改。主题定义为res/values/styles.xml,Eclipse没有显示任何错误。<resources>
<style name="LightTheme" parent="@android:style/Theme.Light">
</style>
<style name="BlackTheme" parent="@android:style/Theme.Black">
</style> </resources>知道会发生什么以及如何解决吗?我该打电话吗?setTheme在代码中有什么特殊的地方吗?如果这有帮助的话,我的应用程序包括几个活动。
3 回答
RISEBY
TA贡献1856条经验 获得超5个赞
recreate()
TaskStackBuilder.create(getActivity()) .addNextIntent(new Intent(getActivity(), MainActivity.class)) .addNextIntent(getActivity().getIntent()) .startActivities();
setTheme()
onCreate()
SharedPreferences
setTheme()
- 3 回答
- 0 关注
- 803 浏览
添加回答
举报
0/150
提交
取消