2012-07-31 170 views
3

我正在使用动作酒吧夏洛克,我想知道是否有办法让行动酒吧黑暗主题(Theme.Sherlock)使用同一个动作条从Light + Dark Action Bar主题(Theme.Sherlock.Light.DarkActionBar)。动作酒吧夏洛克黑暗主题与灯光主题+黑暗行动酒吧

目前,这些是我的风格,但黑暗的主题仍然使用黑暗的行动栏。

<style name="AppTheme.Light" parent="Theme.Sherlock.Light.DarkActionBar" /> 

<style name="AppTheme.Dark" parent="Theme.Sherlock"> 
    <item name="windowContentOverlay">@drawable/abs__ab_solid_shadow_holo</item> 
    <item name="actionBarStyle">@style/Widget.Sherlock.Light.ActionBar.Solid.Inverse</item> 
    <item name="actionBarWidgetTheme">@style/Theme.Sherlock</item> 

    <item name="actionDropDownStyle">@style/Widget.Sherlock.Spinner.DropDown.ActionBar</item> 
    <item name="actionButtonStyle">@style/Widget.Sherlock.ActionButton</item> 
    <item name="actionOverflowButtonStyle">@style/Widget.Sherlock.ActionButton.Overflow</item> 
    <item name="actionModeBackground">@drawable/abs__cab_background_top_holo_dark</item> 
    <item name="actionModeSplitBackground">@drawable/abs__cab_background_bottom_holo_dark</item> 
    <item name="actionModeCloseDrawable">@drawable/abs__ic_cab_done_holo_dark</item> 
    <item name="homeAsUpIndicator">@drawable/abs__ic_ab_back_holo_dark</item> 
    <item name="actionBarTabStyle">@style/Widget.Sherlock.Light.ActionBar.TabView.Inverse</item> 
    <item name="actionBarTabBarStyle">@style/Widget.Sherlock.Light.ActionBar.TabBar.Inverse</item> 
    <item name="actionBarTabTextStyle">@style/Widget.Sherlock.Light.ActionBar.TabText.Inverse</item> 
    <item name="actionBarDivider">@drawable/abs__list_divider_holo_dark</item> 
    <item name="actionBarItemBackground">@drawable/abs__item_background_holo_dark</item> 
    <item name="actionMenuTextColor">?attr/textColorPrimaryInverse</item> 
    <item name="actionModeStyle">@style/Widget.Sherlock.Light.ActionMode.Inverse</item> 
    <item name="actionModeCloseButtonStyle">@style/Widget.Sherlock.ActionButton.CloseMode</item> 
    <item name="actionModePopupWindowStyle">@style/Widget.Sherlock.PopupWindow.ActionMode</item> 

    <item name="actionModeShareDrawable">@drawable/abs__ic_menu_share_holo_dark</item> 
</style> 

我复制操作栏福尔摩斯源代码中的所有样式的项目。

+0

'getSupportActionBar()setBackgroundDrawable(该全息光操作栏可绘制);' – adneal 2012-07-31 22:56:07

回答

3

我只是想做到这一点也并找到了解决办法here

最简单的方式来传达什么这需要是与 例子。以下是从“样式化”例如 完整主题如上所述:

<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar"> 
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item> 
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item> 
</style> 

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse"> 
    <item name="background">@drawable/bg_striped</item> 
    <item name="android:background">@drawable/bg_striped</item> 

    <item name="backgroundSplit">@drawable/bg_striped_split</item> 
    <item name="android:backgroundSplit">@drawable/bg_striped_split</item> 
</style>