我在这些文件夹中有3个styles.xml文件:
资源/值:
<style name="CustomTheme" parent="Theme.Sherlock.Light">
<item name="android:windowBackground">@color/white</item>
<item name="android:colorBackground">@color/white</item>
</style>资源/值-v11
<style name="CustomTheme" parent="android:Theme.Holo.Light">
<item name="android:windowBackground">@color/white</item>
<item name="android:colorBackground">@color/white</item>
</style>资源/值-v14
<style name="CustomTheme" parent="android:Theme.Holo.Light">
<item name="android:windowBackground">@color/white</item>
<item name="android:colorBackground">@color/white</item>
</style>让v11和v14将Holo.Light作为配置是否正确?然后将Theme.Sherlock.Light作为默认设置?
我在一个v-11模拟器上进行测试,我不得不在代码中添加下面这一行:
setTheme(R.style.Theme_Sherlock_Light);但我不确定它是否适用于所有必要的版本。这是正确的设置吗?或者我需要调整一些东西吗?我有点困惑,既然已经在xml中指定了主题,为什么还要在代码中指定它。
谢谢,亚历克斯
发布于 2013-06-21 18:23:57
如果我没有误解你的疑虑:
《神探夏洛克》是安卓ActionBar在老款设备上的一个移植。因此,如果你使用的是“神探夏洛克”,你可以在两种设备(旧设备和新设备)上获得相同的android:Theme.Holo.Light风格。如果您想要在旧设备上应用样式,则必须删除android:前缀
这样,新旧设备的外观都是一样的
<style name="CustomTheme" parent="Theme.Sherlock.Light">
<item name="android:windowBackground">@color/white</item>
<item name="android:colorBackground">@color/white</item>
<item name="windowBackground">@color/white</item>
<item name="colorBackground">@color/white</item>
</style>因此,您可以保留style文件,如果您需要在平板电脑和手持设备上进行不同的自定义,您可以自定义dimens和colors文件
发布于 2013-06-28 13:31:05
默认情况下,ActionBar神探夏洛克会是这样的,它与每个版本都是兼容的。
在样式中:
<style name="ExampleTheme" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="homeAsUpIndicator">@drawable/new_indicator</item>
<item name="android:homeAsUpIndicator">@drawable/new_indicator</item>
</style>在v11中
<style name="AppTheme" parent="android:Theme.Holo.Light" />在v14中
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar" />在清单文件中,它将声明为
android:theme="@style/ExampleTheme" >所以我可以说,每个android版本都默认使用values style。不需要关心v11和v14。
https://stackoverflow.com/questions/17172340
复制相似问题