您的位置:首页 > 移动开发 > Android开发

Android笔记之Theme和Style

2016-07-31 22:22 579 查看

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 的使用

在AndroidManifest.xml中直接设置主题

android:theme="@android:style/Theme.Holo.Light"


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


在Activity中直接指定主题

Activity.setTheme(int resid)


Style的使用

在控件直接使用系统样式

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"/>


先在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详解

颜色

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


字体

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


按钮

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


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>


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>


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>


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>


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>


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>


文字选中 相关

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


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>


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>


Search 控件样式

<!-- Search widget styles -->
<item name="searchWidgetCorpusItemBackground">@color/search_widget_corpus_item_background</item>


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>


其它相关样式

<!-- 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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息