如何在Android中自定义ActionBar(ActionbarSherlock)?

时间:2012-10-08 12:34:09

标签: android android-actionbar actionbarsherlock android-ui

我在我的应用程序中使用ActionBarSherlock为Action蜂窝设备提供ActionBars。我想在Light.DarkActionBar主题中使用,如何为ActionBar的各个部分自定义以下内容(见图片)

  1. ActionBar的背景颜色
  2. ActionBar标签栏的背景图片
  3. 代表所选标签页的底线
  4. 标签之间的分隔符......
  5. enter image description here

    我尝试使用以下设置,虽然我取得了一些成功,但结果却看起来并不像预期的那样,

    <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>
    

    我应该使用哪些其他设置?谢谢!

2 个答案:

答案 0 :(得分:5)

这是我如何做的,以防将来有人有类似的要求。

我从Style Genarator下载了一个示例zip文件...解压缩并仔细查看内容,建议我需要以下属性,

  1. 用于ActionBar的背景颜色

    <item name="background">@drawable/title_bg</item>
    <item name="android:background">@drawable/title_bg</item>
    
  2. 2。      for ActionBar标签栏的背景图片

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

    3。 for the bottom line代表所选标签

                   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表示标签之间的分隔符...

    在主题中我添加了两行......

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

    <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 :(得分:1)

这是link!使用此样式生成器,根据需要进行自定义。下载文件,将所有drawable复制到相应目录,复制values目录下的style.xml。 并在相应活动的清单中使用给定主题名称作为主题。

希望这适合你