ActionBarSherlock - пользовательский фон панели действий с разделителем
Я реализую http://actionbarsherlock.com/, и я хочу изменить фон панели действий.
Я переопределяю свойства, но синий разделитель исчезает. Как я могу использовать пользовательский фон с синим разделителем?
<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>
4 ответа
Для тех, кому (как и мне) не нравится играть с изображениями из 9 патчей, вы можете получить разделитель внизу панели действий, используя рисование в формате xml:
<?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>
http://jgilfelt.github.io/android-actionbarstylegenerator/
Этот проект может быть использован для создания необходимого стиля ActionBar.
Синий разделитель является фоном по умолчанию. Это отрисовка из 9 патчей, которая гарантирует, что линия всегда появляется внизу панели действий независимо от ее высоты.
Для вашей ситуации я бы скопировал фон по умолчанию .png
s из Android, а затем измените их так, чтобы расширяемый раздел 9-патча был вашим целевым цветом фона. Это заполнит панель действий желаемым цветом, сохраняя при этом синюю границу внизу.
Просто обновленная информация об ответе, предоставленном 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>