ActionBarSherlock - пользовательский фон actionbar с разделителем
Я реализую ActionBarsherlock, и я хочу изменить фон панели действий.
Я переопределяю свойства, но синий разделитель исчезает. Как я могу использовать пользовательский фон с синим делителем?
<style name="Theme.MyTheme" parent="Theme.Sherlock.ForceOverflow">
<item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
</style>
<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="android:background">#ff3e3f3d</item>
<item name="background">#ff3e3f3d</item>
</style>
Ответы
Ответ 1
Для тех, кто (как и я) не любит играть с 9-патч-изображениями, вы можете получить разделитель в нижней части панели действий с помощью xml drawable:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Bottom Line -->
<item>
<shape android:shape="rectangle">
<solid android:color="@color/action_bar_line_color" />
</shape>
</item>
<!-- Color of your action bar -->
<item android:bottom="2dip">
<shape android:shape="rectangle">
<solid android:color="@color/action_bar_color" />
</shape>
</item>
</layer-list>
Сохраните это как drawable/action_bar_background.xml, затем примените его в своей теме:
<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="android:background">@drawable/action_bar_background</item>
<item name="background">@drawable/action_bar_background</item>
</style>
Ответ 2
http://jgilfelt.github.io/android-actionbarstylegenerator/
Этот проект можно использовать для создания необходимого стиля ActionBar.
Ответ 3
Синий разделитель по умолчанию является фоном. Это 9-патч drawable, который гарантирует, что линия всегда появляется в нижней части панели действий независимо от ее высоты.
В вашей ситуации я бы скопировал фоновый фон .png
из Android и затем изменил их так, чтобы расширяемый раздел 9-патчей был вашим целевым цветом фона. Это заполнит панель действий желаемым цветом, сохранив синюю границу внизу.
Ответ 4
Просто обновите ответ, предоставленный DanielGrech. Также можно использовать собственную графику в нижней части панели действий. Вот так:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Bottom Line with custom graphic instead of a solid color-->
<item android:drawable="@drawable/bar">
<shape android:shape="rectangle"/>
</item>
<!-- Color of your action bar -->
<item android:bottom="2dip">
<shape android:shape="rectangle">
<solid android:color="@color/action_bar_color" />
</shape>
</item>
</layer-list>