首页 > 其他 > 详细

DSP程序开发与优化经验之二:程序运行时间测量方法总结

时间:2014-02-17 08:07:05      阅读:495      评论:0      收藏:0      [点我收藏+]

        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>



abs__styles.xml
<?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>



为了实现自定义Actionbar的宽度和背景颜色,我们要新建一个我们自己Activity用的style

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


其中actionBarSize属性决定了actionBar的宽度,windowContentOverlay属性指向actionbar的阴影位图,我们设置为null是因为需要达到扁平化的效果。在Theme中并没有backgroud属性,所以我们要继承widget的style,widget里面有关于actionbar更详细的属性,具体可以查看abs__styles.xml。


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>


效果图:

bubuko.com,布布扣


DSP程序开发与优化经验之二:程序运行时间测量方法总结

原文:http://blog.csdn.net/leegang12/article/details/19290647

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!