ActionBarSherlock开源项目地址:https://github.com/JakeWharton/ActionBarSherlock
为了实现ActionBar的自定义,我们可以研究下abs库的两个style配置文件:
abs__themes.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="Sherlock.__Theme" parent="android:Theme.NoTitleBar"> <item name="android:windowContentOverlay">@null</item> </style> <style name="Sherlock.__Theme.Light" parent="android:Theme.Light.NoTitleBar"> <item name="android:windowContentOverlay">@null</item> </style> <style name="Sherlock.__Theme.DarkActionBar" parent="Theme.Sherlock.Light"> </style> <style name="Sherlock.__Theme.Dialog" parent="android:Theme.Dialog"> </style> <style name="Theme.Sherlock" parent="Sherlock.__Theme"> <!-- Action bar styles (from Theme.Holo) --> <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="actionBarTabStyle">@style/Widget.Sherlock.ActionBar.TabView</item> <item name="actionBarTabBarStyle">@style/Widget.Sherlock.ActionBar.TabBar</item> <item name="actionBarTabTextStyle">@style/Widget.Sherlock.ActionBar.TabText</item> <item name="actionModeStyle">@style/Widget.Sherlock.ActionMode</item> <item name="actionModeCloseButtonStyle">@style/Widget.Sherlock.ActionButton.CloseMode</item> <item name="actionBarStyle">@style/Widget.Sherlock.ActionBar</item> <item name="actionBarSize">@dimen/abs__action_bar_default_height</item> <!-- Internal --><item name="actionModePopupWindowStyle">@style/Widget.Sherlock.PopupWindow.ActionMode</item> <item name="actionBarWidgetTheme">@null</item> <!-- Action bar styles (defaults from Theme) --> <item name="actionBarSplitStyle">?attr/actionBarStyle</item> <item name="actionMenuTextAppearance">@style/TextAppearance.Sherlock.Widget.ActionBar.Menu</item> <item name="actionMenuTextColor">?attr/textColorPrimary</item> <item name="actionBarDivider">?attr/dividerVertical</item> <item name="actionBarItemBackground">?attr/selectableItemBackground</item> <item name="buttonStyleSmall">@style/Widget.Sherlock.Button.Small</item> <item name="selectableItemBackground">@drawable/abs__item_background_holo_dark</item> <item name="activatedBackgroundIndicator">@drawable/abs__activated_background_holo_dark</item> <item name="actionModeShareDrawable">@drawable/abs__ic_menu_share_holo_dark</item> <item name="activityChooserViewStyle">@style/Widget.Sherlock.ActivityChooserView</item> <item name="homeAsUpIndicator">@drawable/abs__ic_ab_back_holo_dark</item> <item name="dividerVertical">@drawable/abs__list_divider_holo_dark</item> <item name="spinnerDropDownItemStyle">@style/Widget.Sherlock.DropDownItem.Spinner</item> <item name="spinnerItemStyle">@style/Widget.Sherlock.TextView.SpinnerItem</item> <item name="textColorPrimary">@color/abs__primary_text_holo_dark</item> <item name="textColorPrimaryDisableOnly">@color/abs__primary_text_disable_only_holo_dark</item> <item name="textColorPrimaryInverse">@color/abs__primary_text_holo_light</item> <!-- Internal --><item name="dropdownListPreferredItemHeight">48dip</item> <item name="dropDownListViewStyle">@style/Widget.Sherlock.ListView.DropDown</item> <item name="textAppearanceSmall">@style/TextAppearance.Sherlock.Small</item> <item name="textAppearanceLargePopupMenu">@style/TextAppearance.Sherlock.Widget.PopupMenu.Large</item> <item name="textAppearanceSmallPopupMenu">@style/TextAppearance.Sherlock.Widget.PopupMenu.Small</item> <item name="popupMenuStyle">@style/Widget.Sherlock.PopupMenu</item> <!-- Internal --><item name="listPopupWindowStyle">@style/Widget.Sherlock.ListPopupWindow</item> <item name="searchDropdownBackground">@drawable/abs__search_dropdown_dark</item> <item name="searchViewTextField">@drawable/abs__textfield_searchview_holo_dark</item> <item name="searchViewTextFieldRight">@drawable/abs__textfield_searchview_right_holo_dark</item> <item name="searchViewCloseIcon">@drawable/abs__ic_clear</item> <item name="searchViewSearchIcon">@drawable/abs__ic_search</item> <item name="searchViewGoIcon">@drawable/abs__ic_go</item> <item name="searchViewVoiceIcon">@drawable/abs__ic_voice_search</item> <item name="searchAutoCompleteTextView">@style/Widget.Sherlock.SearchAutoCompleteTextView</item> <item name="android:dropDownHintAppearance">@style/TextAppearance.Sherlock.Widget.DropDownHint</item> <item name="windowActionBar">true</item> <item name="windowActionModeOverlay">false</item> <item name="windowContentOverlay">@null</item> </style> <style name="Theme.Sherlock.Light" parent="Sherlock.__Theme.Light"> <!-- Action bar styles (from Theme.Holo) --> <item name="actionDropDownStyle">@style/Widget.Sherlock.Light.Spinner.DropDown.ActionBar</item> <item name="actionButtonStyle">@style/Widget.Sherlock.Light.ActionButton</item> <item name="actionOverflowButtonStyle">@style/Widget.Sherlock.Light.ActionButton.Overflow</item> <item name="actionModeBackground">@drawable/abs__cab_background_top_holo_light</item> <item name="actionModeSplitBackground">@drawable/abs__cab_background_bottom_holo_light</item> <item name="actionModeCloseDrawable">@drawable/abs__ic_cab_done_holo_light</item> <item name="actionBarTabStyle">@style/Widget.Sherlock.Light.ActionBar.TabView</item> <item name="actionBarTabBarStyle">@style/Widget.Sherlock.Light.ActionBar.TabBar</item> <item name="actionBarTabTextStyle">@style/Widget.Sherlock.Light.ActionBar.TabText</item> <item name="actionModeStyle">@style/Widget.Sherlock.Light.ActionMode</item> <item name="actionModeCloseButtonStyle">@style/Widget.Sherlock.Light.ActionButton.CloseMode</item> <item name="actionBarStyle">@style/Widget.Sherlock.Light.ActionBar.Solid</item> <item name="actionBarSize">@dimen/abs__action_bar_default_height</item> <!-- Internal --><item name="actionModePopupWindowStyle">@style/Widget.Sherlock.Light.PopupWindow.ActionMode</item> <item name="actionBarWidgetTheme">@null</item> <!-- Action bar styles (defaults from Theme) --> <item name="actionBarSplitStyle">?attr/actionBarStyle</item> <item name="actionMenuTextAppearance">@style/TextAppearance.Sherlock.Widget.ActionBar.Menu</item> <item name="actionMenuTextColor">?attr/textColorPrimary</item> <item name="actionBarDivider">?attr/dividerVertical</item> <item name="actionBarItemBackground">?attr/selectableItemBackground</item> <item name="buttonStyleSmall">@style/Widget.Sherlock.Light.Button.Small</item> <item name="selectableItemBackground">@drawable/abs__item_background_holo_light</item> <item name="activatedBackgroundIndicator">@drawable/abs__activated_background_holo_light</item> <item name="actionModeShareDrawable">@drawable/abs__ic_menu_share_holo_light</item> <item name="activityChooserViewStyle">@style/Widget.Sherlock.Light.ActivityChooserView</item> <item name="homeAsUpIndicator">@drawable/abs__ic_ab_back_holo_light</item> <item name="dividerVertical">@drawable/abs__list_divider_holo_light</item> <item name="spinnerDropDownItemStyle">@style/Widget.Sherlock.Light.DropDownItem.Spinner</item> <item name="spinnerItemStyle">@style/Widget.Sherlock.TextView.SpinnerItem</item> <item name="textColorPrimary">@color/abs__primary_text_holo_light</item> <item name="textColorPrimaryDisableOnly">@color/abs__primary_text_disable_only_holo_light</item> <item name="textColorPrimaryInverse">@color/abs__primary_text_holo_dark</item> <!-- Internal --><item name="dropdownListPreferredItemHeight">48dip</item> <item name="dropDownListViewStyle">@style/Widget.Sherlock.Light.ListView.DropDown</item> <item name="textAppearanceSmall">@style/TextAppearance.Sherlock.Light.Small</item> <item name="textAppearanceLargePopupMenu">@style/TextAppearance.Sherlock.Light.Widget.PopupMenu.Large</item> <item name="textAppearanceSmallPopupMenu">@style/TextAppearance.Sherlock.Light.Widget.PopupMenu.Small</item> <item name="popupMenuStyle">@style/Widget.Sherlock.Light.PopupMenu</item> <!-- Internal --><item name="listPopupWindowStyle">@style/Widget.Sherlock.Light.ListPopupWindow</item> <item name="searchDropdownBackground">@drawable/abs__search_dropdown_light</item> <item name="searchViewTextField">@drawable/abs__textfield_searchview_holo_light</item> <item name="searchViewTextFieldRight">@drawable/abs__textfield_searchview_right_holo_light</item> <item name="searchViewCloseIcon">@drawable/abs__ic_clear_holo_light</item> <item name="searchViewSearchIcon">@drawable/abs__ic_search_api_holo_light</item> <item name="searchViewGoIcon">@drawable/abs__ic_go_search_api_holo_light</item> <item name="searchViewVoiceIcon">@drawable/abs__ic_voice_search_api_holo_light</item> <item name="searchAutoCompleteTextView">@style/Widget.Sherlock.Light.SearchAutoCompleteTextView</item> <item name="android:dropDownHintAppearance">@style/TextAppearance.Sherlock.Widget.DropDownHint</item> <item name="windowActionBar">true</item> <item name="windowActionModeOverlay">false</item> <item name="windowContentOverlay">@null</item> </style> <style name="Theme.Sherlock.Light.DarkActionBar" parent="Sherlock.__Theme.DarkActionBar"> <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> <style name="Theme.Sherlock.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <style name="Theme.Sherlock.Light.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <style name="Theme.Sherlock.Dialog" parent="android:Theme"> <item name="android:windowFrame">@null</item> <item name="android:windowTitleStyle">@style/DialogWindowTitle.Sherlock</item> <item name="android:windowBackground">@drawable/abs__dialog_full_holo_dark</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> <item name="android:windowActionBar">false</item> <item name="android:windowActionModeOverlay">true</item> <item name="android:windowCloseOnTouchOutside">true</item> <item name="android:windowNoTitle">true</item> <item name="android:backgroundDimAmount">0.6</item> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:textColorPrimary">@color/abs__primary_text_holo_dark</item> <item name="android:textColorPrimaryInverse">@color/abs__primary_text_holo_light</item> <item name="windowMinWidthMajor">@dimen/abs__dialog_min_width_major</item> <item name="windowMinWidthMinor">@dimen/abs__dialog_min_width_minor</item> <item name="windowActionBar">false</item> <item name="windowContentOverlay">@null</item> </style> <style name="Theme.Sherlock.Light.Dialog" parent="android:Theme.Light"> <item name="android:windowFrame">@null</item> <item name="android:windowTitleStyle">@style/DialogWindowTitle.Sherlock.Light</item> <item name="android:windowBackground">@drawable/abs__dialog_full_holo_light</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item> <item name="android:windowActionBar">false</item> <item name="android:windowActionModeOverlay">true</item> <item name="android:windowCloseOnTouchOutside">true</item> <item name="android:windowNoTitle">true</item> <item name="android:backgroundDimAmount">0.6</item> <item name="android:colorBackgroundCacheHint">@null</item> <item name="android:textColorPrimary">@color/abs__primary_text_holo_light</item> <item name="android:textColorPrimaryInverse">@color/abs__primary_text_holo_dark</item> <item name="windowMinWidthMajor">@dimen/abs__dialog_min_width_major</item> <item name="windowMinWidthMinor">@dimen/abs__dialog_min_width_minor</item> <item name="windowActionBar">false</item> <item name="windowContentOverlay">@null</item> </style> </resources>
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="Widget"> </style> <style name="Sherlock.__Widget.ActionBar" parent="Widget"> <item name="displayOptions">useLogo|showHome|showTitle</item> <item name="height">?attr/actionBarSize</item> <item name="android:paddingLeft">0dip</item> <item name="android:paddingTop">0dip</item> <item name="android:paddingRight">0dip</item> <item name="android:paddingBottom">0dip</item> <item name="homeLayout">@layout/abs__action_bar_home</item> </style> <style name="Widget.Sherlock.ActionBar" parent="Sherlock.__Widget.ActionBar"> <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title</item> <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle</item> <item name="background">@drawable/abs__ab_transparent_dark_holo</item> <item name="backgroundStacked">@drawable/abs__ab_stacked_transparent_dark_holo</item> <item name="backgroundSplit">@drawable/abs__ab_bottom_transparent_dark_holo</item> <item name="divider">?attr/dividerVertical</item> <item name="progressBarStyle">@style/Widget.Sherlock.ProgressBar.Horizontal</item> <item name="indeterminateProgressStyle">@style/Widget.Sherlock.ProgressBar</item> <item name="progressBarPadding">32dip</item> <item name="itemPadding">8dip</item> </style> <style name="Widget.Sherlock.ActionBar.Solid" parent="Sherlock.__Widget.ActionBar"> <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title</item> <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle</item> <item name="background">@drawable/abs__ab_solid_dark_holo</item> <item name="backgroundStacked">@drawable/abs__ab_stacked_solid_dark_holo</item> <item name="backgroundSplit">@drawable/abs__ab_bottom_solid_dark_holo</item> <item name="divider">?attr/dividerVertical</item> <item name="progressBarStyle">@style/Widget.Sherlock.ProgressBar.Horizontal</item> <item name="indeterminateProgressStyle">@style/Widget.Sherlock.ProgressBar</item> <item name="progressBarPadding">32dip</item> <item name="itemPadding">8dip</item> </style> <style name="Widget.Sherlock.Light.ActionBar" parent="Widget.Sherlock.ActionBar"> <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title</item> <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle</item> <item name="background">@drawable/abs__ab_transparent_light_holo</item> <item name="backgroundStacked">@drawable/abs__ab_stacked_transparent_light_holo</item> <item name="backgroundSplit">@drawable/abs__ab_bottom_transparent_light_holo</item> <item name="homeAsUpIndicator">@drawable/abs__ic_ab_back_holo_light</item> <item name="progressBarStyle">@style/Widget.Sherlock.Light.ProgressBar.Horizontal</item> <item name="indeterminateProgressStyle">@style/Widget.Sherlock.Light.ProgressBar</item> </style> <style name="Widget.Sherlock.Light.ActionBar.Solid"> <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title</item> <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle</item> <item name="background">@drawable/abs__ab_solid_light_holo</item> <item name="backgroundStacked">@drawable/abs__ab_stacked_solid_light_holo</item> <item name="backgroundSplit">@drawable/abs__ab_bottom_solid_light_holo</item> <item name="divider">?attr/dividerVertical</item> <item name="progressBarStyle">@style/Widget.Sherlock.Light.ProgressBar.Horizontal</item> <item name="indeterminateProgressStyle">@style/Widget.Sherlock.Light.ProgressBar</item> <item name="progressBarPadding">32dip</item> <item name="itemPadding">8dip</item> </style> <style name="Widget.Sherlock.Light.ActionBar.Solid.Inverse"> <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Title.Inverse</item> <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionBar.Subtitle.Inverse</item> <item name="background">@drawable/abs__ab_solid_dark_holo</item> <item name="backgroundStacked">@drawable/abs__ab_stacked_solid_dark_holo</item> <item name="backgroundSplit">@drawable/abs__ab_bottom_solid_inverse_holo</item> <item name="divider">@drawable/abs__list_divider_holo_dark</item> <item name="progressBarStyle">@style/Widget.Sherlock.ProgressBar.Horizontal</item> <item name="indeterminateProgressStyle">@style/Widget.Sherlock.ProgressBar</item> <item name="progressBarPadding">32dip</item> <item name="itemPadding">8dip</item> </style> <style name="Widget.Sherlock.ActionBar.TabView" parent="Widget"> <item name="android:gravity">center_horizontal</item> <item name="android:background">@drawable/abs__tab_indicator_ab_holo</item> <item name="android:paddingLeft">16dip</item> <item name="android:paddingRight">16dip</item> </style> <style name="Widget.Sherlock.Light.ActionBar.TabView" parent="Widget.Sherlock.ActionBar.TabView"> </style> <style name="Widget.Sherlock.Light.ActionBar.TabView.Inverse"> </style> <style name="Widget.Sherlock.ActionBar.TabBar" parent="Widget"> <item name="android:divider">?attr/actionBarDivider</item> <item name="android:showDividers">middle</item> <item name="android:dividerPadding">12dip</item> </style> <style name="Widget.Sherlock.Light.ActionBar.TabBar" parent="Widget.Sherlock.ActionBar.TabBar"> </style> <style name="Widget.Sherlock.Light.ActionBar.TabBar.Inverse"> </style> <style name="Widget.Sherlock.ActionBar.TabText" parent="Widget"> <item name="android:textAppearance">@null</item> <item name="android:textColor">?attr/textColorPrimary</item> <item name="android:textSize">12sp</item> <item name="android:textStyle">bold</item> <item name="android:textAllCaps">true</item> <item name="android:ellipsize">marquee</item> <item name="android:maxLines">2</item> </style> <style name="Widget.Sherlock.Light.ActionBar.TabText" parent="Widget.Sherlock.ActionBar.TabText"> </style> <style name="Widget.Sherlock.Light.ActionBar.TabText.Inverse"> <item name="android:textColor">?attr/textColorPrimaryInverse</item> </style> <style name="Widget.Sherlock.ActionButton" parent="Widget"> <item name="android:background">?attr/actionBarItemBackground</item> <item name="android:minHeight">?attr/actionBarSize</item> <item name="android:minWidth">@dimen/abs__action_button_min_width</item> <item name="android:gravity">center</item> <item name="android:paddingLeft">12dip</item> <item name="android:paddingRight">12dip</item> <item name="android:scaleType">center</item> </style> <style name="Widget.Sherlock.Light.ActionButton" parent="Widget.Sherlock.ActionButton"> </style> <style name="Widget.Sherlock.ActionButton.CloseMode"> <item name="android:background">@drawable/abs__btn_cab_done_holo_dark</item> </style> <style name="Widget.Sherlock.Light.ActionButton.CloseMode"> <item name="android:background">@drawable/abs__btn_cab_done_holo_light</item> </style> <style name="Widget.Sherlock.ActionButton.Overflow"> <item name="android:src">@drawable/abs__ic_menu_moreoverflow_holo_dark</item> <item name="android:background">?attr/actionBarItemBackground</item> <item name="android:contentDescription">@string/abs__action_menu_overflow_description</item> </style> <style name="Widget.Sherlock.Light.ActionButton.Overflow"> <item name="android:src">@drawable/abs__ic_menu_moreoverflow_holo_light</item> </style> <style name="Sherlock.__Widget.ActionMode" parent="Widget"> <item name="background">?attr/actionModeBackground</item> <item name="backgroundSplit">?attr/actionModeSplitBackground</item> <item name="height">?attr/actionBarSize</item> </style> <style name="Widget.Sherlock.ActionMode" parent="Sherlock.__Widget.ActionMode"> <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Title</item> <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Subtitle</item> </style> <style name="Widget.Sherlock.Light.ActionMode" parent="Widget.Sherlock.ActionMode"> <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Title</item> <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Subtitle</item> </style> <style name="Widget.Sherlock.Light.ActionMode.Inverse" parent="Sherlock.__Widget.ActionMode"> <item name="titleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Title.Inverse</item> <item name="subtitleTextStyle">@style/TextAppearance.Sherlock.Widget.ActionMode.Subtitle.Inverse</item> </style> <style name="Widget.Sherlock.ListPopupWindow" parent="Widget"> <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_dark</item> <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_dark</item> <item name="android:dropDownVerticalOffset">0dip</item> <item name="android:dropDownHorizontalOffset">0dip</item> <item name="android:dropDownWidth">wrap_content</item> </style> <style name="Widget.Sherlock.Light.ListPopupWindow" parent="Widget"> <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_light</item> <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_light</item> <item name="android:dropDownVerticalOffset">0dip</item> <item name="android:dropDownHorizontalOffset">0dip</item> <item name="android:dropDownWidth">wrap_content</item> </style> <style name="Widget.Sherlock.PopupMenu" parent="Widget.Sherlock.ListPopupWindow"> </style> <style name="Widget.Sherlock.Light.PopupMenu" parent="Widget.Sherlock.Light.ListPopupWindow"> </style> <style name="Sherlock.__Widget.ActivityChooserView" parent="Widget"> <item name="android:gravity">center</item> <item name="android:background">@drawable/abs__ab_share_pack_holo_dark</item> <item name="android:divider">?attr/dividerVertical</item> <item name="android:showDividers">middle</item> <item name="android:dividerPadding">6dip</item> <item name="android:minHeight">?attr/actionBarSize</item> </style> <style name="Widget.Sherlock.ActivityChooserView" parent="Sherlock.__Widget.ActivityChooserView"> </style> <style name="Widget.Sherlock.Light.ActivityChooserView" parent="Widget.Sherlock.ActivityChooserView"> <item name="android:background">@drawable/abs__ab_share_pack_holo_light</item> </style> <style name="Widget.Sherlock.Button.Small" parent="Widget"> <item name="android:textAppearance">?attr/textAppearanceSmall</item> <item name="android:textColor">@color/abs__primary_text_holo_dark</item> <item name="android:minHeight">48dip</item> <item name="android:minWidth">48dip</item> </style> <style name="Widget.Sherlock.Light.Button.Small" parent="Widget"> <item name="android:textAppearance">?attr/textAppearanceSmall</item> <item name="android:textColor">@color/abs__primary_text_holo_light</item> <item name="android:minHeight">48dip</item> <item name="android:minWidth">48dip</item> </style> <style name="Sherlock.__Widget.Holo.Spinner" parent="Widget"> <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_dark</item> <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_dark</item> <item name="android:dropDownVerticalOffset">0dip</item> <item name="android:dropDownHorizontalOffset">0dip</item> <item name="android:dropDownWidth">wrap_content</item> <item name="android:gravity">left|center_vertical</item> <item name="android:spinnerMode">dropdown</item> <item name="android:clickable">true</item> </style> <style name="Widget.Sherlock.Spinner.DropDown.ActionBar" parent="Sherlock.__Widget.Holo.Spinner"> <item name="android:background">@drawable/abs__spinner_ab_holo_dark</item> </style> <style name="Widget.Sherlock.Light.Spinner.DropDown.ActionBar" parent="Sherlock.__Widget.Holo.Spinner"> <item name="android:background">@drawable/abs__spinner_ab_holo_light</item> <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_light</item> <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_light</item> </style> <style name="Sherlock.__Widget.Holo.ListView" parent="android:Widget.ListView"> <item name="android:divider">@drawable/abs__list_divider_holo_dark</item> <item name="android:listSelector">@drawable/abs__list_selector_holo_dark</item> </style> <style name="Widget.Sherlock.ListView.DropDown" parent="Sherlock.__Widget.Holo.ListView"> </style> <style name="Widget.Sherlock.Light.ListView.DropDown" parent="Sherlock.__Widget.Holo.ListView"> <item name="android:divider">@drawable/abs__list_divider_holo_light</item> <item name="android:listSelector">@drawable/abs__list_selector_holo_light</item> </style> <style name="Sherlock.__Widget.Holo.DropDownItem" parent="Widget"> <item name="android:textAppearance">@style/TextAppearance.Sherlock.Widget.DropDownItem</item> <item name="android:paddingLeft">8dp</item> <item name="android:paddingRight">8dp</item> <item name="android:gravity">center_vertical</item> </style> <style name="Widget.Sherlock.DropDownItem.Spinner" parent="Sherlock.__Widget.Holo.DropDownItem"> </style> <style name="Widget.Sherlock.Light.DropDownItem.Spinner" parent="Sherlock.__Widget.Holo.DropDownItem"> </style> <style name="Widget.Sherlock.PopupWindow.ActionMode" parent="Widget"> </style> <style name="Widget.Sherlock.Light.PopupWindow.ActionMode" parent="Widget"> <item name="android:popupBackground">@android:color/white</item> </style> <style name="Widget.Sherlock.ProgressBar" parent="android:Widget.ProgressBar"> <item name="android:indeterminateDrawable">@drawable/abs__progress_medium_holo</item> <item name="android:animationResolution">33</item> </style> <style name="Widget.Sherlock.Light.ProgressBar" parent="Widget.Sherlock.ProgressBar"> </style> <style name="Widget.Sherlock.ProgressBar.Horizontal" parent="android:Widget.ProgressBar.Horizontal"> <item name="android:progressDrawable">@drawable/abs__progress_horizontal_holo_dark</item> <!--item name="android:indeterminateDrawable">@drawable/abs__progress_indeterminate_horizontal_holo</item--> <item name="android:minHeight">16dip</item> <item name="android:maxHeight">16dip</item> </style> <style name="Widget.Sherlock.Light.ProgressBar.Horizontal" parent="Widget.Sherlock.ProgressBar.Horizontal"> <item name="android:progressDrawable">@drawable/abs__progress_horizontal_holo_light</item> </style> <style name="Widget.Sherlock.TextView.SpinnerItem" parent="Widget"> <item name="android:textAppearance">@style/TextAppearance.Sherlock.Widget.TextView.SpinnerItem</item> <item name="android:paddingLeft">8dp</item> <item name="android:paddingRight">8dp</item> </style> <style name="Sherlock.__Widget.SearchAutoCompleteTextView" parent="Widget"> <item name="android:focusable">true</item> <item name="android:focusableInTouchMode">true</item> <item name="android:clickable">true</item> <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item> <item name="android:textColor">?attr/textColorPrimary</item> <item name="android:gravity">center_vertical</item> <item name="android:completionHintView">@layout/abs__simple_dropdown_hint</item> <item name="android:completionThreshold">2</item> <item name="android:dropDownWidth">wrap_content</item> </style> <style name="Widget.Sherlock.SearchAutoCompleteTextView" parent="Sherlock.__Widget.SearchAutoCompleteTextView"> <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_dark</item> <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_dark</item> </style> <style name="Widget.Sherlock.Light.SearchAutoCompleteTextView" parent="Sherlock.__Widget.SearchAutoCompleteTextView"> <item name="android:dropDownSelector">@drawable/abs__list_selector_holo_light</item> <item name="android:popupBackground">@drawable/abs__menu_dropdown_panel_holo_light</item> </style> <style name="DialogWindowTitle.Sherlock" parent="Widget"> <item name="android:maxLines">1</item> <item name="android:scrollHorizontally">true</item> <item name="android:textAppearance">@style/TextAppearance.Sherlock.DialogWindowTitle</item> <item name="android:minHeight">@dimen/abs__alert_dialog_title_height</item> <item name="android:paddingLeft">16dip</item> <item name="android:paddingRight">16dip</item> </style> <style name="DialogWindowTitle.Sherlock.Light" parent="Widget"> <item name="android:maxLines">1</item> <item name="android:scrollHorizontally">true</item> <item name="android:textAppearance">@style/TextAppearance.Sherlock.Light.DialogWindowTitle</item> <item name="android:minHeight">@dimen/abs__alert_dialog_title_height</item> <item name="android:paddingLeft">16dip</item> <item name="android:paddingRight">16dip</item> </style> <style name="TextAppearance.Sherlock.Widget.ActionBar.Menu" parent="Widget"> <item name="android:textSize">12sp</item> <item name="android:textStyle">bold</item> <item name="android:textColor">?attr/actionMenuTextColor</item> <item name="android:textAllCaps">@bool/abs__config_actionMenuItemAllCaps</item> </style> <style name="TextAppearance.Sherlock.Widget.ActionBar.Title" parent="Widget"> <item name="android:textSize">@dimen/abs__action_bar_title_text_size</item> <item name="android:textColor">?android:attr/textColorPrimary</item> </style> <style name="TextAppearance.Sherlock.Widget.ActionBar.Title.Inverse" parent="Widget"> <item name="android:textSize">@dimen/abs__action_bar_title_text_size</item> <item name="android:textColor">?android:attr/textColorPrimaryInverse</item> </style> <style name="TextAppearance.Sherlock.Widget.ActionBar.Subtitle" parent="Widget"> <item name="android:textSize">@dimen/abs__action_bar_subtitle_text_size</item> <item name="android:textColor">?android:attr/textColorSecondary</item> </style> <style name="TextAppearance.Sherlock.Widget.ActionBar.Subtitle.Inverse" parent="Widget"> <item name="android:textSize">@dimen/abs__action_bar_subtitle_text_size</item> <item name="android:textColor">?android:attr/textColorPrimaryInverse</item> </style> <style name="TextAppearance.Sherlock.Widget.ActionMode.Title" parent="Widget"> <item name="android:textSize">@dimen/abs__action_bar_title_text_size</item> <item name="android:textColor">?android:attr/textColorPrimary</item> </style> <style name="TextAppearance.Sherlock.Widget.ActionMode.Title.Inverse" parent="Widget"> <item name="android:textSize">@dimen/abs__action_bar_title_text_size</item> <item name="android:textColor">?android:attr/textColorPrimaryInverse</item> </style> <style name="TextAppearance.Sherlock.Widget.ActionMode.Subtitle" parent="Widget"> <item name="android:textSize">@dimen/abs__action_bar_subtitle_text_size</item> <item name="android:textColor">?android:attr/textColorSecondary</item> </style> <style name="TextAppearance.Sherlock.Widget.ActionMode.Subtitle.Inverse" parent="Widget"> <item name="android:textSize">@dimen/abs__action_bar_subtitle_text_size</item> <item name="android:textColor">?android:attr/textColorPrimaryInverse</item> </style> <style name="TextAppearance.Sherlock.Widget.PopupMenu" parent="Widget"> <item name="android:textColor">?attr/textColorPrimary</item> </style> <style name="TextAppearance.Sherlock.Widget.PopupMenu.Large"> <item name="android:textSize">18sp</item> </style> <style name="TextAppearance.Sherlock.Light.Widget.PopupMenu.Large" parent="TextAppearance.Sherlock.Widget.PopupMenu.Large"> </style> <style name="TextAppearance.Sherlock.Widget.PopupMenu.Small"> <item name="android:textSize">14sp</item> </style> <style name="TextAppearance.Sherlock.Light.Widget.PopupMenu.Small" parent="TextAppearance.Sherlock.Widget.PopupMenu.Small"> </style> <style name="TextAppearance.Sherlock.Widget.TextView.SpinnerItem" parent="Widget"> <item name="android:textColor">?textColorPrimary</item> <item name="android:textSize">16sp</item> <item name="android:textStyle">normal</item> </style> <style name="TextAppearance.Sherlock.Widget.DropDownItem" parent="Widget"> <item name="android:textColor">?textColorPrimaryDisableOnly</item> <item name="android:textSize">16sp</item> <item name="android:textStyle">normal</item> </style> <style name="TextAppearance.Sherlock.DialogWindowTitle" parent="Widget"> <item name="android:textSize">22sp</item> <item name="android:textColor">@color/abs__holo_blue_light</item> </style> <style name="TextAppearance.Sherlock.Light.DialogWindowTitle" parent="Widget"> <item name="android:textSize">22sp</item> <item name="android:textColor">@color/abs__holo_blue_light</item> </style> <style name="Sherlock.__TextAppearance.Small" parent="Widget"> <item name="android:textSize">14sp</item> <item name="android:textColor">?android:attr/textColorSecondary</item> </style> <style name="TextAppearance.Sherlock.Small" parent="Sherlock.__TextAppearance.Small"> </style> <style name="TextAppearance.Sherlock.Light.Small" parent="TextAppearance.Sherlock.Small"> </style> <style name="TextAppearance.Sherlock.Widget.DropDownHint" parent="Widget"> <item name="android:textColor">?textColorPrimary</item> <item name="android:textSize">14sp</item> </style> </resources>
<style name="MyActivityStyle" parent="@style/Theme.Sherlock.Light.DarkActionBar"> <item name="android:actionBarSize">75dp</item> <item name="android:windowContentOverlay">@null</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="android:displayOptions">useLogo|showTitle</item> <item name="android:background">@drawable/bg_titlebar</item> </style>
bg_titlebar.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <!-- 背景颜色 --> <solid android:color="#65C2FF" /> </shape>
完成这些设置之后,我们可以为我们的activity指定我们自定义的MyActivityStyle:
<activity android:name="CourseDetailActivity" android:theme="@style/MyActivityStyle"></activity>
效果图:
原文:http://blog.csdn.net/leegang12/article/details/19290647