安卓:Holo主题之前的版本

7
我非常喜欢4.0 ICS Holo Light主题,并希望在我的应用程序中使用它以支持<4.0智能手机。
我在平台文件夹中找到了Android layoutlib.jar,但它有8mb!而且我真的不能增加我的应用程序8mb。有什么提示吗?
//Pew Labs PS我尝试过https://github.com/ChristopheVersieux/HoloEverywhere,但它不支持我使用的TabVIew。
谢谢!
3个回答

46
最好不要在不支持的设备上使用Holo主题。您可以使用一个简单的技巧,在3.x及以上版本上运行Holo主题,在2.3及以下版本中使用内置主题,如下所示:
  1. In your manifest, use this line for your activity's theme

    android:theme="@style/Theme.MyTheme"

  2. In your res/values folder put a styles.xml file, containing

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
      <style name="Theme.MyTheme" parent="@android:style/Theme.Black" />
    </resources>
    
  3. Create a res/values-v11 folder, and a styles.xml file in that, containing:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
      <style name="Theme.MyTheme" parent="@android:style/Theme.Holo" />
    </resources>
    

如果应用运行在支持Holo主题的设备上(3.x及以上,即API级别11及以上,因此需要“values-v11”),这将使Android使用Holo主题。这是使您的应用程序与手机用户界面匹配并仅在支持Holo主题的地方使用Holo主题的最佳解决方案。


我遇到错误 - “错误:无法检索项目的父级,找不到与给定名称 '@android:style/Theme.Holo' 匹配的资源。” 我应该使用4.0来构建吗?但我想要支持低至2.1的版本。 - Sudarshan Bhat
使用4.0版本进行构建,只需确保在您的清单文件中指定类似于 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11" /> 的内容即可。 - Nick
如果您仍然遇到此错误,请转到项目属性并选择SDK目标14。 - AndroidGecko
@Nick 谢谢Nick,这太棒了!同时,这是使用Phonegap/Cordova主题本地控件的最佳解决方案。 - Paranoid Android

4

请查看ActionBarSherlock。它还提供了一个样式化的TabView。示例目录提供了一个真正好用的TabView示例,可在Android 2.2上完美运行。


3
您可以使用这个简单的库在Android 2.3及更早版本中使用Holo:http://www.holoeverywhere.com/。它叫做Holo Everywhere,可在以前的Android版本中正常工作。该库托管在Github上。

http://www.holoeverywhere.com/并不链接到一个支持库,它链接到一个展示使用Holo主题的应用程序好例子的博客。 - Intrications
是的,但博客链接到其在Github上的库名为“Holoeverywhere”的库。https://github.com/ChristopheVersieux/HoloEverywhere - Ahmad
1
我可能错了,但我认为这个网站和库不是同一个人创建的。该网站只是链接到该库。 - Intrications

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