我正在尝试自定义操作栏。我之前也做过,但我现在无法做到。不知道我哪里出错了。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_gradient</item>
</style>
这是我正在添加的可绘制
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="270"
android:startColor="#d6ece542"
android:endColor="#fffffdf4"
/>
</shape>
我还在我的清单中添加了<application>
标记:
android:theme="@style/AppTheme"
但每次我只是得到相同的动作栏(主题的默认值)。有人能说出什么问题吗?
另外,我的minSdk版本= 18,目标版本= 21
答案 0 :(得分:2)
您似乎正在尝试将Holo操作栏主题应用于Material AppCompat主题。
一种解决方案是将渐变应用为colorPrimary
:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@drawable/actionbar_gradient</item>
</style>
更多自定义属性:https://developer.android.com/training/material/theme.html#StatusBar
另一种解决方案是切换到Holo主题:
extends Activity
@android:style/Theme.Holo.Light.DarkActionBar
答案 1 :(得分:0)
您可能需要将android:type="linear"
添加到该渐变定义
<gradient
android:angle="270"
android:startColor="#d6ece542"
android:endColor="#fffffdf4"
android:type="linear"
/>