Я использую Action Bar Compat, чтобы моя панель действий с навигационным ящиком была обратно совместима до уровня API 9, и я хочу изменить фон панели действий.
Я скопировал код с сайта Android Developers:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_background</item>
<!-- Support library compatibility -->
<item name="background">@drawable/actionbar_background</item>
</style>
</resources>
И тут возникает проблема.
Когда я помещаю изображение или цвет в качестве фона, он отлично работает. Однако я хочу определить фон как форму градиента, поэтому мой actionbar_background
выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<gradient
android:startColor="@color/ac_bg_start"
android:endColor="@color/ac_bg_end"
android:type="linear"/>
<size
android:width="1dp"
android:height="48dp"/>
</shape>
Я хочу, чтобы это повторялось по горизонтали, но даже это приводит к ошибке, на самом деле очень интересной ошибке. Тестовое устройство и даже эмулятор перезапускаются, когда я пытаюсь запустить приложение. Я смог поймать DeadObjectException
перед перезапуском.
Как должен выглядеть фоновый рисунок?