android - 如何遍历所有活动?

时间:2012-08-09 02:13:46

标签: android colors themes spinner

在我的Android应用程序中,我可以更改主题,但要查看更改,我必须退出应用程序并再次打开它。

这就是我改变主题的方式。

ThemeSetterActivity.setStyle(signup.this);

发生在创建事件上。

但是我可以运行一些像这样(下面)的代码,并且会改变所有活动的主题。

foreach (activity act in app) {
    ThemeSetterActivity.setStyle(act.context);
}

感谢

3 个答案:

答案 0 :(得分:0)

将主题应用于活动或应用程序

要为应用程序的所有活动设置主题,请打开AndroidManifest.xml文件并编辑标记以包含带有样式名称的android:theme属性。例如:

<application android:theme="@style/CustomTheme">

如果您希望主题仅应用于应用程序中的一个Activity,则将android:theme属性添加到标记中。

正如Android提供其他内置资源一样,您可以使用许多预定义的主题,以避免自己编写。例如,您可以使用Dialog主题并使您的Activity显示为对话框:

<activity android:theme="@android:style/Theme.Dialog">

答案 1 :(得分:0)

据我所知,你不能这样做。

我所做的是让每项活动都跟踪当前使用的主题。 然后在恢复中的每个活动中,只检查当前主题是否仍然是它应该是什么,如果不重新启动活动。

获得该应用程序的简单方法是让您的基本活动类实现该行为,然后让所有活动扩展该行为。

答案 2 :(得分:0)

使用静态字段并存储您的主题ID; 并在onCreate方法中使用:

yourActivityObj.setTheme(R.style.AppTheme);

也许是id工作;