对于某些 Activity ,我使用的是@Theme/Dialog,但这看起来像旧的 UI 2.3。 如果我将 Manifest 中的 Activity 主题设置为 Holo/Dialog,那么这可以正常工作,但当然这不适用于旧设备。
如何在可用时强制使用 Holo 主题?
我尝试使用自定义 MyTheme,但所有具有 @android:style/Theme.Dialog 的 Activity 继续显示为旧主题。
我的 Activity 如下所示:
<activity
android:name=".audio.TempoManager"
android:label="Tempo Manager"
android:theme="@android:style/Theme.Dialog" />
如果我将其更改为@android:style/Theme.Holo.Dialog,那么在旧设备上, Activity 将不会作为对话框打开,而是作为简单 Activity 打开。
最佳答案
引用这篇博文。它回答了你的问题:holo-everywhere
主要是:
1. 你写一个 theme.xml
文件,在 res/values/
中为所有 3.0 之前的 android 版本定义一个 MyTheme
。
2. 在 res/values-v11/
中为 3.0+ android 版本编写一个 themes.xml
文件定义 MyTheme
。
3. 在AndroidManifest.xml
中定义应用程序主题为MyTheme
。
第一个主题继承自@android:style/Theme
。
第二个主题继承自 @android:style/Theme.Holo
。
关于安卓:UI旧界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10652825/