android - 如何遍历所有活动?
问题描述:
在我的Android应用程序中,我可以更改主题,但要查看更改,我必须退出应用程序并再次打开它。android - 如何遍历所有活动?
这是我如何改变主题。
ThemeSetterActivity.setStyle(signup.this);
发生在创建事件上。
但有一些像这样的代码(见下文),我可以运行,而且将改变主题的所有活动。
foreach (activity act in app) {
ThemeSetterActivity.setStyle(act.context);
}
感谢
答
据我知道你不能这样做的。
我要做的就是让每个活动跟踪它当前正在使用什么样的主题。 然后在简历上的每个活动中,检查当前主题是否仍然应该是,如果不重新启动活动。
获得该应用程序的一个简单方法就是让您的基本活动类实现该行为,然后让所有活动扩展该行为。
答
应用主题到活动或应用
设定主题为应用程序的所有活动,打开AndroidManifest.xml文件并编辑标签包括了Android :带有样式名称的主题属性。例如:
<application android:theme="@style/CustomTheme">
如果你想一个主题应用到您的应用程序只是一个活动,然后将机器人添加:主题属性标签来代替。
就像Android提供其他内置资源一样,您可以使用许多预定义的主题,以避免自己编写它们。例如,你可以使用对话的主题,让你的活动看起来像一个对话框:
<activity android:theme="@android:style/Theme.Dialog">
答
使用静态字段并存储您的主题ID; 和onCreate方法使用:
yourActivityObj.setTheme(R.style.AppTheme);
也许标识工作;
所有这些都是真实的,但这不是他所要求的。他特别要求如何动态改变主题,而不是首先如何设置主题。 – 2012-08-09 02:25:23