对于某些Activity,我正在使用@ Theme / Dialog,但这看起来像旧的UI 2.3。 如果我将Manifest中的Activity的主题设置为Holo / Dialog,那么这个工作正常,但当然这对旧设备不起作用。
如何在可用时强制使用Holo主题?
我尝试使用自定义MyTheme,但所有具有@android:style / Theme.Dialog的活动仍然显示为旧主题。
我的活动如下所示:
<activity
android:name=".audio.TempoManager"
android:label="Tempo Manager"
android:theme="@android:style/Theme.Dialog" />
如果我将其更改为@android:style / Theme.Holo.Dialog,那么在旧设备上,活动将不会作为对话框打开,而是作为简单的活动打开。
答案 0 :(得分:2)
参考这篇博客文章。它回答了你的问题:holo-everywhere
<强>主要是:强>
1.在theme.xml
中为所有3.0之前版本的Android版本编写MyTheme
res/values/
文件。
2.在themes.xml
中为3.0+以上的Android版本编写MyTheme
res/values-v11/
文件
3.在AndroidManifest.xml
中将应用主题定义为MyTheme
。
第一个主题继承自@android:style/Theme
第二个主题继承自@android:style/Theme.Holo
。
答案 1 :(得分:0)
如果设备上有ICS,它将默认为Holo,
如果您想在所有设备上普遍创建ICS字体,您需要提供ttf字体文件资产并在自定义文本视图和/或按钮等中使用它。