2012-10-08 8 views
1

J'ai utilisé ActionBarSherlock dans mon application pour fournir des ActionBars à des appareils en nid d'abeilles. Je veux utiliser Light.DarkActionBar Theme dans, Comment puis-je personnaliser suivant pour certaines parties du ActionBar (voir l'image)Comment personnaliser ActionBar dans Android (ActionbarSherlock)?

  1. couleur de fond de
  2. ActionBar
  3. Arrière-plan pour onglet ActionBar bar
  4. La ligne de fond qui représente l'onglet sélectionné
  5. le diviseur entre les onglets ...

enter image description here

J'ai essayé d'utiliser les réglages suivants, Bien que j'ai obtenu un certain succès, mais le résultat ne porte toutefois pas l'air comme prévu,

<item name="android:background">@drawable/bg_title_bar</item> 
<item name="background">@drawable/bg_title_bar</item> 
<item name="actionModeSplitBackground">@drawable/bg_tab_bar</item> 
<item name="android:actionModeSplitBackground">@drawable/bg_tab_bar</item> 

Quelles sont les autres paramètres que je devrais utiliser? Merci!!

+2

Je vous recommande de commencer avec le Générateur de Style Barre d'Action Android de Jeff Gilfelt (http://jgilfelt.github.com/android-actionbarstylegenerator), en utilisant le navigateur Chrome de votre machine de développement. Il vous permet de personnaliser visuellement au moins les trois premiers éléments de votre liste, ce qui vous permet de télécharger un fichier ZIP de ressources à intégrer dans votre projet. – CommonsWare

+0

Merci ... Mais je pose en fait des questions sur les paramètres de ces changements, c'est-à-direAndroid: fond pour l'arrière-plan de la barre de titre .. L'équipe de conception me donnera toutes ces images ... Si je leur donne une liste de ressources requises ... Où je peux obtenir la liste des attributs qui sont utilisés pour modifier l'apparence et sentir avec une brève description d'entre eux ... – aProgrammer

+1

"Où je peux obtenir la liste des attributs qui sont utilisés pour modifier l'apparence d'Action Bar avec une brève description d'entre eux" - Vulcan esprit fusionné avec un ingénieur Android (ou Jake Wharton). Au-delà de ça, tout est de l'ingénierie inverse. C'est pourquoi je vous ai suggéré d'utiliser l'outil de Jeff, donc vous pouvez voir comment * il * modifie ces valeurs, comme il l'a fait pour vous. – CommonsWare

Répondre

5

Voici comment je l'ai fait juste au cas où une personne a des exigences similaires à l'avenir ..

J'ai téléchargé un fichier zip exemple de Style Genarator ... Décompression et un regard attentif sur le contenu suggéré que je avais besoin attributs suivants,

  1. pour la couleur de fond de ActionBar

    <item name="background">@drawable/title_bg</item> 
    <item name="android:background">@drawable/title_bg</item> 
    

2. pour l'image d'arrière-plan pour onglet ActionBar bar

<item name="backgroundStacked">@drawable/tab_bg</item> 
    <item name="android:backgroundStacked">@drawable/tab_bg</item> 

3. pour la ligne inférieure qui représente l'onglet sélectionné

   i. I created a style as follows 
        <style name="ActionBar.TabStyle" parent="@style/Widget.Sherlock.Light.ActionBar.TabView"> 
        <item name="background">@drawable/ab_tab_indicator</item> 
        <item name="android:background">@drawable/ab_tab_indicator</item> 
       </style> 
       ii. I used that style in the theme as follows 
       <item name="actionBarTabStyle">@style/ActionBar.TabStyle</item> 
       <item name="android:actionBarTabStyle">@style/ActionBar.TabStyle</item> 

4 pour le diviseur entre les onglets ...

dans le thème J'ai ajouté deux lignes ..

<item name="actionBarTabBarStyle">@style/My.ActionBar.TabBar</item> 
    <item name="android:actionBarTabBarStyle">@style/My.ActionBar.TabBar</item> 

que

<style name="My.ActionBar.TabBar" parent="@android:style/Widget.Holo.ActionBar.TabBar"> 
    <item name="divider">@drawable/tab_divider</item> 
    <item name="android:showDividers">middle</item> 
    <item name="android:divider">@drawable/tab_divider</item> 
    <item name="android:dividerHeight">24dp</item> 
    <item name="android:dividerPadding">8dp</item> 
    <!-- <item name="android:background">@drawable/tab_unselected</item> --> 
</style> 
1

Voici un link! utiliser ce générateur de style, personnaliser selon vos besoins. Télécharger le fichier, copiez passé tous les dessinables aux répertoires respectifs, copiez style.xml sous le répertoire des valeurs .. et utiliser le thème de donner le nom comme thème soit dans le manifeste de l'activité respective ..

espère que cela fonctionne pour vous

Questions connexes