对于某些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然后在旧设备上,活动将不会作为对话框打开,而是作为简单的活动 .
2 回答
请参阅此博客文章 . 它回答了你的问题:holo-everywhere
mainly:
1.你在
res/values/
中编写一个theme.xml
文件,为所有3.0之前版本的Android版本定义一个MyTheme
. 2.在res/values-v11/
中为3.0安卓版本编写一个themes.xml
文件来定义MyTheme
.3.在
AndroidManifest.xml
中定义应用程序主题为MyTheme
.第一个主题继承自
@android:style/Theme
.第二个主题继承自
@android:style/Theme.Holo
.如果设备上有ICS,它将默认为Holo,
如果您想在所有设备上普遍创建ICS字体,则需要提供ttf字体文件资产并在自定义文本视图和/或按钮等中使用它 .