Android笔记之Theme和Style

Android笔记之Theme和Style

  对于Android开发团队来说,拥有自己的一套自我定制的UI框架,可以更好提高用户体验和自我品牌认知。Theme 和 Style是 Android UI设计所必需的。

概念

  Theme 和 Style的作用一样,都通过设置不同的值(图片、大小、布尔值)给控件,让一个控件或多个控件自定义风格。但Theme是针对窗体级别的,改变窗体样式;而Style是针对窗体元素级别的,改变指定控件或者Layout的样式。

App 使用系统Theme 和 Style

  Android系统定义大量的Theme主题(Materrial, Holo.Light, Holo.NoActionBar等等) 和 Style 样式(Widget.SeekBar)。

Theme 的使用
  1. 在AndroidManifest.xml中直接设置主题

    android:theme="@android:style/Theme.Holo.Light"
  2. 在values/styles.xml文件中添加自己的Theme.再在AndroidManifest.xml中进行指定。

    <style name="MyTheme" parent="android:Theme.Holo.Light">
        <!-- Customize your theme here. -->
        <item name="android:background">@drawable/send_music_thumb</item>
        <item name="android:actionBarStyle">@style/Holo.ActionBar</item>
    </style>
    
    <style name="Holo.ActionBar" parent="android:Widget.DeviceDefault.ActionBar">
        <item name="android:backgroundStacked">@null</item>
    </style>
    android:theme="@style/MyTheme"
  3. 在Activity中直接指定主题

    Activity.setTheme(int resid)
Style的使用
  1. 在控件直接使用系统样式

     <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"/>
  2. 先在values/styles.xml文件中添加自己的Style, 再在控件中进行指定

     <style name="MyTextStyle" >
        <item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
        <item name="android:textColor">?android:attr/textColorPrimary</item>
    </style>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/MyTextStyle" />

    ?android:attr:引用Android預置定義樣式

    Theme 和 Style FrameWork 分析

    代码位置

      在Android的frameworks/base/core/res/res/values目录下有关于Theme和Style的定义,另外对应着不同的平台主题。

    styles.xml
    styles_device_defaults.xml
    styles_holo.xml
    styles_leanback.xml
    styles_material.xml
    styles_micro.xml
    themes.xml
    themes_device_default.xml
    themes_holo.xml
    themes_leanback.xml
    themes_material.xml
    themes_micro.xml
    系统选择默认主题代码流程
    //android/frameworks/base/core/java/android/view/ContextThemeWrapper.java
    //我们常用的Activity继承于该类
    public Resources.Theme getTheme() {
     if (mTheme != null) 
         return mTheme;//已初始化
     mThemeResource = Resources.selectDefaultTheme(mThemeResource, getAppcationInfo().targetSdkVersion);
     initializeTheme();
     return mTheme;
    }
    /**android/frameworks/base/core/java/android/content/res/Resources.java*/
    public static int selectDefaultTheme(int curTheme, int targetSdkVersion) {
    return selectSystemTheme(curTheme, targetSdkVersion,
            com.android.internal.R.style.Theme,
            com.android.internal.R.style.Theme_Holo,
            com.android.internal.R.style.Theme_DeviceDefault);
    } 
    public static int selectSystemTheme(int curTheme, int targetSdkVersion,int orig, int holo, int deviceDefault) {
    if (curTheme != 0) { 
        return curTheme;
    }    
    if (targetSdkVersion < Build.VERSION_CODES.HONEYCOMB) {
        // < SDK API 11
        return orig;
    }    
    if (targetSdkVersion < Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
         // <  SDK API 14
         return holo;
    }    
    return deviceDefault;
    }

      从上面来看,系统默认大的主题是三种:Theme,Theme.Holo,Theme.DeviceDefault, 对于 Application来说, 一般都会指定需要的主题。

完整 Themes.xml详解
  1. 颜色

        <item name="isLightTheme">false</item>
        <item name="colorForeground">@color/bright_foreground_dark</item>
        <item name="colorForegroundInverse">@color/bright_foreground_dark_inverse</item>
        <item name="colorBackground">@color/background_dark</item>
        <item name="colorBackgroundFloating">?attr/colorBackground</item>
        <item name="colorBackgroundCacheHint">?attr/colorBackground</item>
    
        <item name="colorPressedHighlight">@color/legacy_pressed_highlight</item>
        <item name="colorLongPressedHighlight">@color/legacy_long_pressed_highlight</item>
        <item name="colorFocusedHighlight">@color/legacy_selected_highlight</item>
        <item name="colorMultiSelectHighlight">@color/legacy_selected_highlight</item>
        <item name="colorActivatedHighlight">@color/legacy_selected_highlight</item>
    
        <item name="colorPrimaryDark">@color/legacy_primary_dark</item>
        <item name="colorPrimary">@color/legacy_primary</item>
        <item name="colorControlActivated">@color/legacy_control_activated</item>
        <item name="colorControlNormal">@color/legacy_control_normal</item>
        <item name="colorControlHighlight">@color/legacy_button_pressed</item>
        <item name="colorButtonNormal">@color/legacy_button_normal</item>
        <item name="colorEdgeEffect">?attr/colorPrimary</item>
    
        <item name="disabledAlpha">0.5</item>
        <item name="backgroundDimAmount">0.6</item>
    
  2. 字体

         <item name="textAppearance">@style/TextAppearance</item>
        <item name="textAppearanceInverse">@style/TextAppearance.Inverse</item>
    
        <item name="textColorPrimary">@color/primary_text_dark</item>
        <item name="textColorSecondary">@color/secondary_text_dark</item>
        <item name="textColorTertiary">@color/tertiary_text_dark</item>
        <item name="textColorPrimaryInverse">@color/primary_text_light</item>
        <item name="textColorSecondaryInverse">@color/secondary_text_light</item>
        <item name="textColorTertiaryInverse">@color/tertiary_text_light</item>
        <item name="textColorPrimaryActivated">@color/primary_text_dark</item>
        <item name="textColorSecondaryActivated">@color/secondary_text_dark</item>
        <item name="textColorPrimaryDisableOnly">@color/primary_text_dark_disable_only</item>
        <item name="textColorPrimaryInverseDisableOnly">@color/primary_text_light_disable_only</item>
        <item name="textColorPrimaryNoDisable">@color/primary_text_dark_nodisable</item>
        <item name="textColorSecondaryNoDisable">@color/secondary_text_dark_nodisable</item>
        <item name="textColorPrimaryInverseNoDisable">@color/primary_text_light_nodisable</item>
        <item name="textColorSecondaryInverseNoDisable">@color/secondary_text_light_nodisable</item>
        <item name="textColorHint">@color/hint_foreground_dark</item>
        <item name="textColorHintInverse">@color/hint_foreground_light</item>
        <item name="textColorSearchUrl">@color/search_url_text</item>
        <item name="textColorHighlight">@color/highlighted_text_dark</item>
        <item name="textColorHighlightInverse">@color/highlighted_text_light</item>
        <item name="textColorLink">@color/link_text_dark</item>
        <item name="textColorLinkInverse">@color/link_text_light</item>
        <item name="textColorAlertDialogListItem">@color/primary_text_light_disable_only</item>
    
        <item name="textAppearanceLarge">@style/TextAppearance.Large</item>
        <item name="textAppearanceMedium">@style/TextAppearance.Medium</item>
        <item name="textAppearanceSmall">@style/TextAppearance.Small</item>
        <item name="textAppearanceLargeInverse">@style/TextAppearance.Large.Inverse</item>
        <item name="textAppearanceMediumInverse">@style/TextAppearance.Medium.Inverse</item>
        <item name="textAppearanceSmallInverse">@style/TextAppearance.Small.Inverse</item>
        <item name="textAppearanceSearchResultTitle">@style/TextAppearance.SearchResult.Title</item>
        <item name="textAppearanceSearchResultSubtitle">@style/TextAppearance.SearchResult.Subtitle</item>
    
        <item name="textAppearanceEasyCorrectSuggestion">@style/TextAppearance.EasyCorrectSuggestion</item>
        <item name="textAppearanceMisspelledSuggestion">@style/TextAppearance.MisspelledSuggestion</item>
        <item name="textAppearanceAutoCorrectionSuggestion">@style/TextAppearance.AutoCorrectionSuggestion</item>
    
        <item name="textAppearanceButton">@style/TextAppearance.Widget.Button</item>
    
        <item name="editTextColor">@color/primary_text_light</item>
        <item name="editTextBackground">@drawable/edit_text</item>
    
        <item name="candidatesTextStyleSpans">@string/candidates_style</item>
    
        <item name="textCheckMark">@drawable/indicator_check_mark_dark</item>
        <item name="textCheckMarkInverse">@drawable/indicator_check_mark_light</item>
    
        <item name="textAppearanceLargePopupMenu">@style/TextAppearance.Widget.PopupMenu.Large</item>
        <item name="textAppearanceSmallPopupMenu">@style/TextAppearance.Widget.PopupMenu.Small</item>
  3. 按钮

         <!-- Button styles -->
        <item name="buttonStyle">@style/Widget.Button</item>
        <item name="buttonStyleSmall">@style/Widget.Button.Small</item>
        <item name="buttonStyleInset">@style/Widget.Button.Inset</item>
        <item name="buttonStyleToggle">@style/Widget.Button.Toggle</item>
    
        <item name="switchStyle">@style/Widget.CompoundButton.Switch</item>
    
        <item name="selectableItemBackground">@drawable/item_background</item>
        <item name="selectableItemBackgroundBorderless">?attr/selectableItemBackground</item>
        <item name="borderlessButtonStyle">?attr/buttonStyle</item>
        <item name="homeAsUpIndicator">@drawable/ic_ab_back_holo_dark</item>
    
        <!-- List attributes -->
        <item name="listPreferredItemHeight">64dip</item>
        <item name="listPreferredItemHeightSmall">?attr/listPreferredItemHeight</item>
        <item name="listPreferredItemHeightLarge">?attr/listPreferredItemHeight</item>
        <item name="dropdownListPreferredItemHeight">?attr/listPreferredItemHeight</item>
        <item name="textAppearanceListItem">?attr/textAppearanceLarge</item>
        <item name="textAppearanceListItemSmall">?attr/textAppearanceLarge</item>
        <item name="textAppearanceListItemSecondary">?attr/textAppearanceSmall</item>
        <item name="listPreferredItemPaddingLeft">6dip</item>
        <item name="listPreferredItemPaddingRight">6dip</item>
        <item name="listPreferredItemPaddingStart">6dip</item>
        <item name="listPreferredItemPaddingEnd">6dip</item>
  4. List

        <!-- @hide -->
        <item name="searchResultListItemHeight">58dip</item>
        <item name="listDivider">@drawable/divider_horizontal_dark</item>
        <item name="listSeparatorTextViewStyle">@style/Widget.TextView.ListSeparator</item>
    
        <item name="listChoiceIndicatorSingle">@drawable/btn_radio</item>
        <item name="listChoiceIndicatorMultiple">@drawable/btn_check</item>
    
        <item name="listChoiceBackgroundIndicator">@drawable/list_selector_background</item>
    
        <item name="activatedBackgroundIndicator">@drawable/activated_background</item>
    
        <item name="listDividerAlertDialog">@drawable/divider_horizontal_bright</item>
    
        <item name="expandableListPreferredItemPaddingLeft">40dip</item>
        <item name="expandableListPreferredChildPaddingLeft">?attr/expandableListPreferredItemPaddingLeft</item>
    
        <item name="expandableListPreferredItemIndicatorLeft">3dip</item>
        <item name="expandableListPreferredItemIndicatorRight">0dip</item>
        <item name="expandableListPreferredChildIndicatorLeft">?attr/expandableListPreferredItemIndicatorLeft</item>
        <item name="expandableListPreferredChildIndicatorRight">?attr/expandableListPreferredItemIndicatorRight</item>
        <item name="findOnPageNextDrawable">@drawable/ic_find_next_holo_dark</item>
        <item name="findOnPagePreviousDrawable">@drawable/ic_find_previous_holo_dark</item>
  5. Window相关

         <!-- Window attributes -->
        <item name="windowBackground">@drawable/screen_background_selector_dark</item>
        <item name="windowBackgroundFallback">?attr/colorBackground</item>
        <item name="windowClipToOutline">false</item>
        <item name="windowFrame">@null</item>
        <item name="windowNoTitle">false</item>
        <item name="windowFullscreen">false</item>
        <item name="windowOverscan">false</item>
        <item name="windowIsFloating">false</item>
        <item name="windowContentOverlay">@null</item>
        <item name="windowShowWallpaper">false</item>
        <item name="windowTitleStyle">@style/WindowTitle</item>
        <item name="windowTitleSize">25dip</item>
        <item name="windowTitleBackgroundStyle">@style/WindowTitleBackground</item>
        <item name="windowAnimationStyle">@style/Animation.Activity</item>
        <item name="windowSoftInputMode">stateUnspecified|adjustUnspecified</item>
        <item name="windowActionBar">false</item>
        <item name="windowActionModeOverlay">false</item>
        <item name="windowCloseOnTouchOutside">false</item>
        <item name="windowTranslucentStatus">false</item>
        <item name="windowTranslucentNavigation">false</item>
        <item name="windowDrawsSystemBarBackgrounds">false</item>
        <item name="statusBarColor">@color/black</item>
        <item name="navigationBarColor">@color/black</item>
        <item name="windowActionBarFullscreenDecorLayout">@layout/screen_action_bar</item>
        <item name="windowContentTransitions">false</item>
        <item name="windowActivityTransitions">false</item>
    
        <!-- Define these here; ContextThemeWrappers around themes that define them should
             always clear these values. -->
        <item name="windowFixedWidthMajor">0dp</item>
        <item name="windowFixedWidthMinor">0dp</item>
        <item name="windowFixedHeightMajor">0dp</item>
        <item name="windowFixedHeightMinor">0dp</item>
  6. Dialog 相关

    
        <!-- Dialog attributes -->
        <item name="dialogTheme">@style/Theme.Dialog</item>
        <item name="dialogTitleIconsDecorLayout">@layout/dialog_title_icons</item>
        <item name="dialogCustomTitleDecorLayout">@layout/dialog_custom_title</item>
        <item name="dialogTitleDecorLayout">@layout/dialog_title</item>
        <item name="dialogPreferredPadding">@dimen/dialog_padding</item>
    
  7. AlertDialog 相关

         <!-- AlertDialog attributes -->
        <item name="alertDialogTheme">@style/Theme.Dialog.Alert</item>
        <item name="alertDialogStyle">@style/AlertDialog</item>
        <item name="alertDialogCenterButtons">true</item>
        <item name="alertDialogIcon">@drawable/ic_dialog_alert</item>
         <!-- Presentation attributes (introduced after API level 10 so does not
             have a special old-style theme. -->
        <item name="presentationTheme">@style/Theme.DeviceDefault.Dialog.Presentation</item>
  8. Panel 相关

         <!-- Panel attributes -->
        <item name="panelBackground">@drawable/menu_background</item>
        <item name="panelFullBackground">@drawable/menu_background_fill_parent_width</item>
        <!-- These three attributes do not seems to be used by the framework. Declared public though -->
        <item name="panelColorBackground">#000</item>
        <item name="panelColorForeground">?attr/textColorPrimary</item>
        <item name="panelTextAppearance">?attr/textAppearance</item>
    
        <item name="panelMenuIsCompact">false</item>
        <item name="panelMenuListWidth">296dip</item>
  9. ScrollBar 相关

         <!-- Scrollbar attributes -->
        <item name="scrollbarFadeDuration">250</item>
        <item name="scrollbarDefaultDelayBeforeFade">300</item>
        <item name="scrollbarSize">10dip</item>
        <item name="scrollbarThumbHorizontal">@drawable/scrollbar_handle_horizontal</item>
        <item name="scrollbarThumbVertical">@drawable/scrollbar_handle_vertical</item>
        <item name="scrollbarTrackHorizontal">@null</item>
        <item name="scrollbarTrackVertical">@null</item>
  10. 文字选中 相关

         <!-- Text selection handle attributes -->
        <item name="textSelectHandleLeft">@drawable/text_select_handle_left</item>
        <item name="textSelectHandleRight">@drawable/text_select_handle_right</item>
        <item name="textSelectHandle">@drawable/text_select_handle_middle</item>
        <item name="textSelectHandleWindowStyle">@style/Widget.TextSelectHandle</item>
        <item name="textEditPasteWindowLayout">@layout/text_edit_paste_window</item>
        <item name="textEditNoPasteWindowLayout">@layout/text_edit_no_paste_window</item>
        <item name="textEditSidePasteWindowLayout">@layout/text_edit_side_paste_window</item>
        <item name="textEditSideNoPasteWindowLayout">@layout/text_edit_side_no_paste_window</item>
        <item name="textSuggestionsWindowStyle">@style/Widget.TextSuggestionsPopupWindow</item>
        <item name="textEditSuggestionItemLayout">@layout/text_edit_suggestion_item</item>
        <item name="textCursorDrawable">@null</item>
  11. Widget 样式

        <!-- Widget styles -->
        <item name="absListViewStyle">@style/Widget.AbsListView</item>
        <item name="autoCompleteTextViewStyle">@style/Widget.AutoCompleteTextView</item>
        <item name="checkboxStyle">@style/Widget.CompoundButton.CheckBox</item>
        <item name="checkedTextViewStyle">@style/Widget.CheckedTextView</item>
        <item name="dropDownListViewStyle">@style/Widget.ListView.DropDown</item>
        <item name="editTextStyle">@style/Widget.EditText</item>
        <item name="expandableListViewStyle">@style/Widget.ExpandableListView</item>
        <item name="expandableListViewWhiteStyle">@style/Widget.ExpandableListView.White</item>
        <item name="fastScrollStyle">@style/Widget.FastScroll</item>
        <item name="galleryStyle">@style/Widget.Gallery</item>
        <item name="gestureOverlayViewStyle">@style/Widget.GestureOverlayView</item>
        <item name="gridViewStyle">@style/Widget.GridView</item>
        <item name="imageButtonStyle">@style/Widget.ImageButton</item>
        <item name="imageWellStyle">@style/Widget.ImageWell</item>
        <item name="listViewStyle">@style/Widget.ListView</item>
        <item name="listViewWhiteStyle">@style/Widget.ListView.White</item>
        <item name="popupWindowStyle">@style/Widget.PopupWindow</item>
        <item name="progressBarStyle">@style/Widget.ProgressBar</item>
        <item name="progressBarStyleHorizontal">@style/Widget.ProgressBar.Horizontal</item>
        <item name="progressBarStyleSmall">@style/Widget.ProgressBar.Small</item>
        <item name="progressBarStyleSmallTitle">@style/Widget.ProgressBar.Small.Title</item>
        <item name="progressBarStyleLarge">@style/Widget.ProgressBar.Large</item>
        <item name="progressBarStyleInverse">@style/Widget.ProgressBar.Inverse</item>
        <item name="progressBarStyleSmallInverse">@style/Widget.ProgressBar.Small.Inverse</item>
        <item name="progressBarStyleLargeInverse">@style/Widget.ProgressBar.Large.Inverse</item>
        <item name="seekBarStyle">@style/Widget.SeekBar</item>
        <item name="ratingBarStyle">@style/Widget.RatingBar</item>
        <item name="ratingBarStyleIndicator">@style/Widget.RatingBar.Indicator</item>
        <item name="ratingBarStyleSmall">@style/Widget.RatingBar.Small</item>
        <item name="radioButtonStyle">@style/Widget.CompoundButton.RadioButton</item>
        <item name="scrollViewStyle">@style/Widget.ScrollView</item>
        <item name="horizontalScrollViewStyle">@style/Widget.HorizontalScrollView</item>
        <item name="spinnerStyle">@style/Widget.Spinner</item>
        <item name="dropDownSpinnerStyle">@style/Widget.Spinner.DropDown</item>
        <item name="starStyle">@style/Widget.CompoundButton.Star</item>
        <item name="tabWidgetStyle">@style/Widget.TabWidget</item>
        <item name="textViewStyle">@style/Widget.TextView</item>
        <item name="errorMessageBackground">@drawable/popup_inline_error</item>
        <item name="errorMessageAboveBackground">@drawable/popup_inline_error_above</item>
        <item name="webTextViewStyle">@style/Widget.WebTextView</item>
        <item name="webViewStyle">@style/Widget.WebView</item>
        <item name="dropDownItemStyle">@style/Widget.DropDownItem</item>
        <item name="spinnerDropDownItemStyle">@style/Widget.DropDownItem.Spinner</item>
        <item name="spinnerItemStyle">@style/Widget.TextView.SpinnerItem</item>
        <item name="dropDownHintAppearance">@style/TextAppearance.Widget.DropDownHint</item>
        <item name="keyboardViewStyle">@style/Widget.KeyboardView</item>
        <item name="quickContactBadgeOverlay">@drawable/quickcontact_badge_overlay_dark</item>
        <item name="quickContactBadgeStyleWindowSmall">@style/Widget.QuickContactBadge.WindowSmall</item>
        <item name="quickContactBadgeStyleWindowMedium">@style/Widget.QuickContactBadge.WindowMedium</item>
        <item name="quickContactBadgeStyleWindowLarge">@style/Widget.QuickContactBadge.WindowLarge</item>
        <item name="quickContactBadgeStyleSmallWindowSmall">@style/Widget.QuickContactBadgeSmall.WindowSmall</item>
        <item name="quickContactBadgeStyleSmallWindowMedium">@style/Widget.QuickContactBadgeSmall.WindowMedium</item>
        <item name="quickContactBadgeStyleSmallWindowLarge">@style/Widget.QuickContactBadgeSmall.WindowLarge</item>
        <item name="listPopupWindowStyle">@style/Widget.ListPopupWindow</item>
        <item name="popupMenuStyle">@style/Widget.PopupMenu</item>
        <item name="activityChooserViewStyle">@style/Widget.ActivityChooserView</item>
        <item name="mediaRouteButtonStyle">@style/Widget.DeviceDefault.MediaRouteButton</item>
        <item name="fragmentBreadCrumbsStyle">@style/Widget.FragmentBreadCrumbs</item>
  12. Preferences 样式

       <!-- Preference styles -->
        <item name="preferenceScreenStyle">@style/Preference.PreferenceScreen</item>
        <item name="preferenceActivityStyle">@style/PreferenceActivity</item>
        <item name="preferenceFragmentStyle">@style/PreferenceFragment</item>
        <item name="preferenceCategoryStyle">@style/Preference.Category</item>
        <item name="preferenceStyle">@style/Preference</item>
        <item name="preferenceInformationStyle">@style/Preference.Information</item>
        <item name="checkBoxPreferenceStyle">@style/Preference.CheckBoxPreference</item>
        <item name="switchPreferenceStyle">@style/Preference.SwitchPreference</item>
        <item name="seekBarPreferenceStyle">@style/Preference.SeekBarPreference</item>
        <item name="yesNoPreferenceStyle">@style/Preference.DialogPreference.YesNoPreference</item>
        <item name="dialogPreferenceStyle">@style/Preference.DialogPreference</item>
        <item name="seekBarDialogPreferenceStyle">@style/Preference.DialogPreference.SeekBarPreference</item>
        <item name="editTextPreferenceStyle">@style/Preference.DialogPreference.EditTextPreference</item>
        <item name="ringtonePreferenceStyle">@style/Preference.RingtonePreference</item>
        <item name="preferenceLayoutChild">@layout/preference_child</item>
        <item name="preferencePanelStyle">@style/PreferencePanel</item>
        <item name="preferenceHeaderPanelStyle">@style/PreferenceHeaderPanel</item>
        <item name="preferenceListStyle">@style/PreferenceHeaderList</item>
        <item name="preferenceFragmentListStyle">@style/PreferenceFragmentList</item>
        <item name="preferenceFragmentPaddingSide">@dimen/preference_fragment_padding_side</item>
        <item name="detailsElementBackground">@drawable/panel_bg_holo_dark</item>
    
  13. Search 控件样式

        <!-- Search widget styles -->
        <item name="searchWidgetCorpusItemBackground">@color/search_widget_corpus_item_background</item>
  14. ActionBar 样式

        <!-- Action bar styles -->
        <item name="actionDropDownStyle">@style/Widget.Spinner.DropDown</item>
        <item name="actionButtonStyle">@style/Widget.ActionButton</item>
        <item name="actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>
        <item name="actionOverflowMenuStyle">?attr/popupMenuStyle</item>
        <item name="actionModeBackground">@drawable/cab_background_top_holo_dark</item>
        <item name="actionModeSplitBackground">@null</item>
        <item name="actionModeCloseDrawable">@drawable/ic_menu_close_clear_cancel</item>
        <item name="actionModeCutDrawable">@drawable/ic_menu_cut_holo_dark</item>
        <item name="actionModeCopyDrawable">@drawable/ic_menu_copy_holo_dark</item>
        <item name="actionModePasteDrawable">@drawable/ic_menu_paste_holo_dark</item>
        <item name="actionModeSelectAllDrawable">@drawable/ic_menu_selectall_holo_dark</item>
        <item name="actionModeShareDrawable">@drawable/ic_menu_share_holo_dark</item>
        <item name="actionModeFindDrawable">@drawable/ic_menu_find_holo_dark</item>
        <item name="actionModeWebSearchDrawable">@drawable/ic_menu_search</item>
        <item name="actionBarTabStyle">@style/Widget.ActionBar.TabView</item>
        <item name="actionBarTabBarStyle">@style/Widget.ActionBar.TabBar</item>
        <item name="actionBarTabTextStyle">@style/Widget.ActionBar.TabText</item>
        <item name="actionModeStyle">@style/Widget.ActionMode</item>
        <item name="actionModeCloseButtonStyle">@style/Widget.ActionButton.CloseMode</item>
        <item name="actionBarStyle">@style/Widget.ActionBar</item>
        <item name="actionBarSplitStyle">?attr/actionBarStyle</item>
        <item name="actionBarSize">@dimen/action_bar_default_height</item>
        <item name="actionModePopupWindowStyle">?attr/popupWindowStyle</item>
        <item name="actionMenuTextAppearance">@style/TextAppearance.Holo.Widget.ActionBar.Menu</item>
        <item name="actionMenuTextColor">?attr/textColorPrimary</item>
        <item name="actionBarWidgetTheme">@null</item>
        <item name="actionBarPopupTheme">@null</item>
        <item name="actionBarTheme">@null</item>
        <item name="actionBarDivider">?attr/dividerVertical</item>
        <item name="actionBarItemBackground">?attr/selectableItemBackground</item>
  15. 其它相关样式

         <!-- Floating toolbar styles -->
        <item name="floatingToolbarCloseDrawable">@drawable/ic_ab_back_material_dark</item>
        <item name="floatingToolbarForegroundColor">@color/foreground_material_dark</item>
        <item name="floatingToolbarItemBackgroundBorderlessDrawable">@drawable/item_background_borderless_material_dark</item>
        <item name="floatingToolbarItemBackgroundDrawable">@drawable/item_background_material_dark</item>
        <item name="floatingToolbarOpenDrawable">@drawable/ic_menu_moreoverflow_material_dark</item>
        <item name="floatingToolbarPopupBackgroundDrawable">@drawable/floating_popup_background_dark</item>
    
        <!-- SearchView attributes -->
        <item name="searchViewStyle">@style/Widget.Holo.SearchView</item>
        <item name="searchDialogTheme">@style/Theme.SearchBar</item>
    
        <!-- PreferenceFrameLayout attributes -->
        <item name="preferenceFrameLayoutStyle">@style/Widget.PreferenceFrameLayout</item>
    
        <!-- NumberPicker style-->
        <item name="numberPickerStyle">@style/Widget.NumberPicker</item>
    
        <!-- CalendarView style-->
        <item name="calendarViewStyle">@style/Widget.CalendarView</item>
    
        <!-- TimePicker style -->
        <item name="timePickerStyle">@style/Widget.TimePicker</item>
    
        <!-- TimePicker dialog theme -->
        <item name="timePickerDialogTheme">?attr/alertDialogTheme</item>
    
        <!-- DatePicker style -->
        <item name="datePickerStyle">@style/Widget.DatePicker</item>
    
        <!-- DatePicker dialog theme -->
        <item name="datePickerDialogTheme">?attr/alertDialogTheme</item>
    
        <item name="fastScrollThumbDrawable">@drawable/scrollbar_handle_accelerated_anim2</item>
        <item name="fastScrollTrackDrawable">@null</item>
        <item name="fastScrollPreviewBackgroundRight">@drawable/menu_submenu_background</item>
        <item name="fastScrollPreviewBackgroundLeft">@drawable/menu_submenu_background</item>
        <item name="fastScrollOverlayPosition">floating</item>
        <item name="fastScrollTextColor">@color/primary_text_dark</item>
    
        <!-- Pointer style -->
        <item name="pointerStyle">@style/Pointer</item>
    
        <!-- Accessibility focused drawable -->
        <item name="accessibilityFocusedDrawable">@drawable/view_accessibility_focused</item>
    
        <!-- Lighting and shadow properties -->
        <item name="lightY">@dimen/light_y</item>
        <item name="lightZ">@dimen/light_z</item>
        <item name="lightRadius">@dimen/light_radius</item>
        <item name="ambientShadowAlpha">@dimen/ambient_shadow_alpha</item>
        <item name="spotShadowAlpha">@dimen/spot_shadow_alpha</item>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值