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>
相关文章推荐
- Android笔记(七十二) Style和Theme
- android笔记 style和theme
- Applying Styles and Themes - 应用Style和Theme - Android官方文档中文翻译
- Android入门第十六篇之Style与Theme
- Android入门第十六篇之Style与Theme
- android (style&theme)
- android基础---样式和主题(style&theme)
- android风格和主题程序编写–style & theme
- android的样式(style)与主题(theme)
- Android中style和theme巧用:Android应用程序启动时背景画面的切换
- android笔记:安卓自带的主题android:theme
- 深入理解android style theme(转自eoe)
- Android入门之Style与Theme
- android全屏设置代码:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
- 杂乱之android的style、Theme的应用
- Android中的样式和主题(style & theme)
- Android入门第十六篇之Style与Theme
- android UI进阶之style和theme的使用
- Android风格与主题(style and theme)
- android之theme和style