我正在使用Action Bar Compat,以便我的导航抽屉的操作栏向后兼容到API级别9,并且我想更改操作栏的背景。ActionBar的自定义(渐变)背景Compat
我从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
。
应该如何绘制背景?
<项目名称=“机器人:actionBarStyle”> @风格/ PeopleCanAct应改为<项目名称=“机器人:actionBarStyle”> @风格/ MyActionBar你会得到一个编译错误的,是 –
这工作,尽管我不明白DeadObjectException部分,但设备何时会得到该异常? – Bruce