2012-04-28 3 views
31

Я реализую ActionBarsherlock, и я хочу изменить фона панели действий.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> 

ответ

7

Синий делитель фона по умолчанию. Это 9-патч drawable, который гарантирует, что линия всегда появляется в нижней части панели действий независимо от ее высоты.

Для вашей ситуации я бы скопировал фон по умолчанию .png с Android, а затем изменил их так, чтобы расширяемый раздел 9-патча был вашим целевым цветом фона. Это заполнит панель действий желаемым цветом, сохранив синюю рамку внизу.

+0

Спасибо, я собираюсь скопировать фон по умолчанию и изменить их. – ikarius

76

Для тех, кто (как я), не пользуется играть с 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> 

Сохранить это как рисуем/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> 
+0

Это было именно то, что я искал! – Karen

+0

Не искал неделю что-то вроде этого, это действительно хорошо! –

+0

Как подать заявку в нашей теме, обновите код –

17

http://jgilfelt.github.io/android-actionbarstylegenerator/

Этот проект может быть использован для создания ActionBar стиль вам нужно.

+1

Большое спасибо за это это ТОЧНО, что я искал, делает их намного проще! – AndroidNoob

+0

Спасибо большое за обмен. Это именно то, что мне нужно! – Vivendi

+0

Есть ли какой-нибудь учебник о том, как его использовать? Я не знаю, где скопировать эти изображения и установить их. –

3

Просто обновите ответ, предоставленный 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> 
Смежные вопросы