为 Android 应用设置 Holo 主题

12

我有一个简单的登录界面,其中包括用户名和密码。

我希望以与冰激凌三明治和蜂巢主题中看到的方式显示EditText字段。

在我的清单文件中:

<application
   android:icon="@drawable/ic_launcher"
   android:label="@string/app_name" 
   android:theme="@android:style/Theme.Holo">

文本框不应该看起来不同吗?比如说没有顶部、左侧和右侧的边框?

我的似乎看起来完全一样。我肯定做错了很基本的事情,但是欢迎任何建议。

这是在模拟器中所见到的: Screen Shot 2012-04-23 at 03.08.16

我原本期望的是这样的效果: http://developer.android.com/design/building-blocks/text-fields.html


模拟器运行的是哪个安卓版本?只有在3.0及以上版本中才能获得Holo。 - dmon
是的,这个程序可以在ICS真机上运行。 - Derek Organ
3个回答

21

原始的Android Holo主题仅适用于API Level 11+。但是有一个名为HoloEverywhere的开源项目。

看一下这个。这应该可以解决你的问题。

所以如果将其引用为库,您可以像下面这样设置您的主题:

android:theme=“@style/Theme.Holo
// or if you want to use the Holo light theme:
android:theme=“@style/Theme.Holo.Light

1
事实上,我重新启动了Eclipse,它就正常工作了,但还是谢谢你提供的额外信息。 - Derek Organ
2
链接损坏,但这似乎是新位置:https://github.com/Prototik/HoloEverywhere - Mendhak
2
针对HoloEverywhere的新版本,请注意,现在必须使用的主题是@style/Holo.Theme.* - scottbot95

9

尝试按活动为基础进行操作。这是我一直以来的做法。从你的截图来看,主题似乎根本没有生效。Theme.Holo是暗色的,白色主题是Theme.Holo.Light。

<activity
        android:name=".login"
        android:label="@string/login"
        android:noHistory="true"
        android:theme="@android:style/Theme.Holo.Light"/>

<activity
        android:name=".Preferences"
        android:theme="@android:style/Theme.Holo.Light" >

在应用程序级别之外,可以考虑使用etc。

此外,为了更正Ahmad的说法,Holo可以在Honeycomb及以上版本或11+版本中使用。


Eclipse称它只能在13+而不是11+上运行。 - Darrell

0

实际上,Holo自API 11就可用了;只是Theme.Holo.Light.DarkActionBar在API级别14中出现。没有必要使用15+。

对于旧的API级别,如Ahmad所提到的,需要使用HoloEverywhereActionBarSherlockViewPageIndicator等。


重复 Ahmad 的回答。 - Goldorak84

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接