所以我在我的应用中有一个活动,目前标记为
android:launchMode="singleTop"
...并且我目前在onCreate和onNewIntent中都有逻辑,以确保屏幕始终显示由启动的最新 Intent 提供的数据。而且我希望能够根据该 Intent 提供的数据在 Holo.Light 和 Holo.Dark 之间进行切换。
调用 setTheme 不起作用(请参阅这两个链接):
- 为什么 Activity 中的 getApplicationContext().setTheme() 不起作用?
- http://code.google.com/p/android/issues/detail?id=4394
第二个链接有一个解决方法,涉及创建第二个AndroidManifest.xml条目,该条目具有另一个主题并指向相关活动的空子类。这行得通,但它破坏了singleTop(因为现在堆栈上可以有两个活动实例)。
我没主意了。除了为此活动滚动我自己的自定义 ActionBar 视图之外,任何人都知道是否有任何方法可以做到这一点?