2013-01-13 21 views
0

据我所知,保留原生外观是Android上的推荐做法,但我不禁注意到编译的默认组件在Jellybean上不显示为Holo。这是否意味着我们必须在版本11文件夹styles.xml中指定Holo并在其他地方默认?指定自定义主题以实现本机体验似乎有违直觉。使用Android主题处理版本的常见做法

回答

0

编码多个平台版本时,您确实需要指定一个主题。

res/values/styles.xml,你应该是这样的:

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

然后在res/values-v11/styles.xml

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

然后在你的AndroidManifest.xml中,你应该指定主题为:

android:theme="@style/AppTheme" 

但是,如果你根本没有指定任何主题(所以没有android:theme属性),Android应该自动转到设备的默认主题。

+0

感谢A C“编写多个应用程序版本”我假设您的意思是Android设备的版本。如果是这种情况,为什么我需要指定2个不同的主题(只是没有像你提到的所有情况一样指定) –

+0

@Mike感谢你捕捉错误!通常你会这样做,如果你是自定义你的主题。例如,如果你想要一个轻量级的主题,设备的默认设置可能不会很轻,所以你需要一种方法来确保。 –