Android ICS前后全息主题的差异

Android ICS前后全息主题的差异,android,themes,android-4.0-ice-cream-sandwich,Android,Themes,Android 4.0 Ice Cream Sandwich,我有几个应用程序是用安卓1.6及其后版本创建的。问题是,当我在最近的Android(设备或模拟器)上运行这些应用程序时,比如ICS,我没有全息主题 我知道我可以找到很多关于如何指定主题的线索,但是当我现在创建一个新的应用程序时,我没有任何代码行就有了新的主题 我不想在所有android版本上都有ICS主题,只想在ICS上有ICS主题,比如ICS上新的全息按钮样式和旧的灰色样式。现在我所有版本都有灰色按钮 我可以创建新的空项目,并将我的所有文件复制到其中,但必须在某个地方有一个隐藏的值来实现这一点

我有几个应用程序是用安卓1.6及其后版本创建的。问题是,当我在最近的Android(设备或模拟器)上运行这些应用程序时,比如ICS,我没有全息主题

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

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

我可以创建新的空项目,并将我的所有文件复制到其中,但必须在某个地方有一个隐藏的值来实现这一点

在我的清单中,我有:

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


新创建的项目和旧创建的项目之间有什么区别

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

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

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

android:theme="@style/AppTheme"

现在,在蜂巢或更高版本的设备上,您可以看到全息主题,而对于其他一切,您可以看到古老的经典主题。你可以很容易地尝试使用它来满足你的需要-这是在基于API版本的主题之间切换的一般方式。

我的理解是,你希望你的应用程序在传统(经典)主题和基于API版本的新Holo主题之间切换

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

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

android:theme="@style/AppTheme"

现在,在蜂巢或更高版本的设备上,您可以看到全息主题,而对于其他一切,您可以看到古老的经典主题。您可以根据自己的需要轻松地进行试验-这是基于API版本在主题之间切换的一般方式。

我刚刚检查了一个在ICS上显示Holo theme的最新应用程序,但我没有指定应使用哪个主题的styles.xml。我根本没有style.xml。必须有另一个选项才能发现。可能是,如果你在
AndroidManifest
中没有指定任何主题,它默认为设备默认值,即在pre Honeycom上为
theme.black
,在Honeycom上为
theme.holo
。哦,是的,我在manifest->activity中标记了这一行(android:theme=“@android:style/Theme.NoTitleBar”)。我决不会认为它会改变标题栏上的其他内容。我只是检查了最近一个在ICS上显示Holo主题的应用程序,我没有指定它应该使用的主题的styles.xml。我根本没有style.xml。必须有另一个选项来发现。如果你在
AndroidMani中没有指定任何主题,可能是这样的fest
它默认为设备默认值,即pre Honeycom上的
Theme.black
,以及Honeycom和up上的
Theme.holo
。哦,是的,我在清单->活动标签中有一行(android:Theme=“@android:style/Theme.NoTitleBar”)。我决不会认为它会改变标题栏上的其他内容。