如何解决如何从android中的Java代码更改/重置自定义主题
|| 我在应用程序的设置屏幕中有一个更改主题选项,并提供了一些自定义主题供您选择。 首先,我认为您无法一次从Java代码中将主题设置为整个应用程序(请指导是否有任何方法),这就是为什么我在super.onCreate()之前调用setTheme(my_theme)的原因应用程序的每项活动。 现在,当用户更改活动时,这将仅在重新启动任何活动时反映出来(因为setTheme()在OnCreate()中)。 因此,问题在于如何让SetTheme()在OnResume()或代码中的任何其他地方工作,因为我也想在Activity Stack的先前屏幕上反映这些更改。 请注意,setTheme()仅在setContentVIew()之前起作用...解决方法
是的,正如文档所说,您需要在实例化任何视图之前设置主题,因此看起来您需要重新启动整个活动。
可能有更好的方法,但是一种方法可以确保您的活动在onResume()中完全重新启动:
finish();
startActivity(getIntent());
这将回收现有的意图。但是,我首先环顾四周,看看是否有一种更简单的方法来确保活动重新启动-可能是一个简单的清单属性。让我们知道你发现了什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。