J'implémente ActionBarsherlock et je veux changer l'arrière-plan de la barre d'action.
Je remplace les propriétés mais le séparateur bleu disparaît. Comment puis-je utiliser un arrière-plan personnalisé avec le séparateur bleu?
<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>
Pour ceux qui (comme moi) n'aiment pas jouer avec des images à 9 patchs, vous pouvez obtenir le séparateur au bas de la barre d'action en utilisant un dessin 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>
Enregistrez-le sous drawable/action_bar_background.xml, puis appliquez-le dans votre thème:
<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/
Ce projet peut être utilisé pour générer le style ActionBar dont vous avez besoin.
Le séparateur bleu est l'arrière-plan par défaut. C'est un patch à 9 patchs qui garantira que la ligne apparaît toujours au bas de la barre d'action, quelle que soit sa hauteur.
Pour votre situation, je copierais l'arrière-plan par défaut .png
s de Android puis modifiez-les de sorte que la section extensible du patch 9 soit votre couleur d'arrière-plan cible. Cela remplira la barre d'action avec la couleur souhaitée tout en conservant la bordure bleue à la bas.
Juste une mise à jour sur la réponse fournie par DanielGrech. Il est également possible d'utiliser votre propre graphique personnalisé au bas de la barre d'actions. Comme ça:
<?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>