我想为我的应用程序使用AppTheme android:Theme.Material.Light.DarkActionBar。这可以从SDK 21获得...我的最小SDK是16.我的构建gradle文件中有支持库com.android.support:appcompat-v7:22.0.0。我想在values文件夹下创建第二个样式文件。我想要两个样式文件......一个用于Lollipop ......在它旁边显示22版本的颜色......以及一个用于棒棒糖前的文件。怎么做?
答案 0 :(得分:7)
如上所述为特定Api级别创建值文件夹
res/values-v21/styles.xml
res/values/styles.xml
在values/styles.xml
创建样式中:
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColorDark</item>
<item name="colorAccent">@color/accentColor</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style
<style name="AppTheme" parent="AppTheme.Base">
</style>
在values-v21/styles.xml
创建样式中:
<!-- Themes for Android API21 -->
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:colorPrimary">@color/primaryColor</item>
<item name="android:colorPrimaryDark">@color/primaryColorDark</item>
<item name="android:colorAccent">@color/accentColor</item>
</style>
在AndroidManifest.xml
内,您应该使用AppTheme
作为全球应用主题
此外,您应该使用SupportLibary中的Toolbar
而不是默认的Actionbar。这就是Base Theme将Actionbar设置为false
答案 1 :(得分:3)
如其他答案所示,您可以在不同的文件夹中使用不同的styles.xml文件。
我想为其他答案添加一个选项。
您可以定义每个版本使用的基本样式,并自定义单个属性。
在res/values/styles.xml
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColorDark</item>
<item name="colorAccent">@color/accentColor</item>
</style>
<style name="AppTheme" parent="AppTheme.Base">
<!-- custom pre-Lollipop attributes -->
</style>
在res/values-v21/styles.xml
<style name="AppTheme" parent="AppTheme.Base">
<!-- custom Lollipop attributes -->
</style>
最后在你的Activity中使用AppTheme
(你必须使用`ActionBarActivity)。
答案 2 :(得分:2)
在不同的文件夹中创建两个styles.xml文件,例如:
res/values-v21/styles.xml
res/values/styles.xml
答案 3 :(得分:2)
您应该添加另一个名为&#34; values-v21&#34;的文件夹。在你的&#34; res&#34;目录。然后创建一个&#34; styles.xml&#34;在你的Lollipop风格的目录中。