前ICS与后ICS Holo主题相关的区别

时间:2012-12-21 14:56:46

标签: android themes android-4.0-ice-cream-sandwich

我有几个使用Android 1.6及之后创建的应用程序。问题是当我在最近的Android(设备或模拟器)上运行这些应用程序(如ICS)时,我没有Holo主题。

我知道我可以找到很多关于如何指定主题的线索,但是当我现在创建一个新的应用程序时,我有了没有任何代码行的新主题。

我不想在所有Android版本上都有ICS主题,只有ICS上的ICS主题,比如ICS上的新全息按钮样式和旧版本的旧灰色样式。现在我只有所有版本的灰色按钮。

我可以创建新的空项目并将我的所有文件复制到其中但是必须有一个隐藏的值来改变它。

在我的清单中我有:

<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="14" />

旧项目和新项目之间有什么区别?

1 个答案:

答案 0 :(得分:4)

我理解的是,您希望您的应用在旧版(经典)主题和基于API版本的新Holo主题之间切换。

首先,在您的valuesres/values)文件夹中创建一个新的xml。称之为styles.xml。它应该包含以下这些行:

<resources>
<style name="AppTheme" parent="@android:style/Theme.Black"/>
</resources> 

然后在名为res的{​​{1}}中创建一个新文件夹。在这个新文件夹中创建另一个新的xml。将其命名为values-v11此文件应包含以下行:

styles.xml

然后在您的<resources> <style name="AppTheme" parent="@android:style/Theme.Holo"/> </resources> AndroidManifest.xml节点中应该包含以下行:

Application

现在,在使用Honeycomb或更高级别的设备上,您可以获得Holo主题,而其他一切,您将获得旧的经典主题。您可以轻松地尝试这一点以满足您的需求 - 这是根据API版本在主题之间切换的一般方法。