Tôi đang sử dụng Action Bar Compat để thanh tác vụ của tôi với ngăn điều hướng tương thích ngược xuống cấp API 9 và tôi muốn thay đổi nền của thanh hành động.Tùy chỉnh (gradient) nền của ActionBar Compat
tôi sao chép mã từ 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>
Và ở đây có vấn đề.
Khi tôi đặt hình ảnh có thể vẽ hoặc màu làm nền, nó hoạt động tốt. Tuy nhiên tôi muốn xác định các nền là một hình gradient, nên actionbar_background
của tôi trông giống như:
<?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>
Tôi muốn nó được lặp đi lặp lại theo cách ngang nhưng ngay cả điều này dẫn đến lỗi, trên thực tế, lỗi rất thú vị. Thiết bị thử nghiệm và thậm chí cả trình mô phỏng được khởi động lại khi tôi cố gắng chạy ứng dụng. Tôi đã có thể bắt được DeadObjectException
trước khi khởi động lại.
Nền có thể vẽ như thế nào?
này hoạt động, mặc dù tôi không hiểu phần DeadObjectException, khi nào một thiết bị sẽ nhận được ngoại lệ đó? – Bruce