ActionBarSherlock - пользовательский фон actionbar с разделителем - программирование
Подтвердить что ты не робот

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>

4b9b3361

Ответ 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>

Ответ 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>