Android Theme详细




1.系统主题Theme列表



2.详解每个主题中定义item分类


一个完整的主题应该定义哪些内容呢,以Theme为例,如下:

颜色

[html] view
plain
 copy

  1. <item name="colorForeground">@android:color/bright_foreground_dark</item>  
  2.   
  3. <item name="colorForegroundInverse">@android:color/bright_foreground_dark_inverse</item>  
  4.   
  5. <item name="colorBackground">@android:color/background_dark</item>  
  6.   
  7. <item name="colorBackgroundCacheHint">?android:attr/colorBackground</item>  
  8.   
  9. <item name="colorPressedHighlight">@color/legacy_pressed_highlight</item>  
  10.   
  11. <item name="colorLongPressedHighlight">@color/legacy_long_pressed_highlight</item>  
  12.   
  13. <item name="colorFocusedHighlight">@color/legacy_selected_highlight</item>  
  14.   
  15. <item name="colorMultiSelectHighlight">@color/legacy_selected_highlight</item>  
  16.   
  17. <item name="colorActivatedHighlight">@color/legacy_selected_highlight</item>  

字体

[html] view
plain
 copy

  1. <!-- Text styles -->  
  2.   
  3. <item name="textAppearance">@android:style/TextAppearance</item>  
  4.   
  5. <item name="textAppearanceInverse">@android:style/TextAppearance.Inverse</item>  
  6.   
  7.    
  8.   
  9. <item name="textColorPrimary">@android:color/primary_text_dark</item>  
  10.   
  11. <item name="textColorSecondary">@android:color/secondary_text_dark</item>  
  12.   
  13. <item name="textColorTertiary">@android:color/tertiary_text_dark</item>  
  14.   
  15. <item name="textColorPrimaryInverse">@android:color/primary_text_light</item>  
  16.   
  17. <item name="textColorSecondaryInverse">@android:color/secondary_text_light</item>  
  18.   
  19. <item name="textColorTertiaryInverse">@android:color/tertiary_text_light</item>  
  20.   
  21. <item name="textColorPrimaryDisableOnly">@android:color/primary_text_dark_disable_only</item>  
  22.   
  23. <item name="textColorPrimaryInverseDisableOnly">@android:color/primary_text_light_disable_only</item>  
  24.   
  25. <item name="textColorPrimaryNoDisable">@android:color/primary_text_dark_nodisable</item>  
  26.   
  27. <item name="textColorSecondaryNoDisable">@android:color/secondary_text_dark_nodisable</item>  
  28.   
  29. <item name="textColorPrimaryInverseNoDisable">@android:color/primary_text_light_nodisable</item>  
  30.   
  31. <item name="textColorSecondaryInverseNoDisable">@android:color/secondary_text_light_nodisable</item>  
  32.   
  33. <item name="textColorHint">@android:color/hint_foreground_dark</item>  
  34.   
  35. <item name="textColorHintInverse">@android:color/hint_foreground_light</item>  
  36.   
  37. <item name="textColorSearchUrl">@android:color/search_url_text</item>  
  38.   
  39. <item name="textColorHighlight">@android:color/highlighted_text_dark</item>  
  40.   
  41. <item name="textColorHighlightInverse">@android:color/highlighted_text_light</item>  
  42.   
  43. <item name="textColorLink">@android:color/link_text_dark</item>  
  44.   
  45. <item name="textColorLinkInverse">@android:color/link_text_light</item>  
  46.   
  47. <item name="textColorAlertDialogListItem">@android:color/primary_text_light_disable_only</item>  
  48.   
  49.    
  50.   
  51. <item name="textAppearanceLarge">@android:style/TextAppearance.Large</item>  
  52.   
  53. <item name="textAppearanceMedium">@android:style/TextAppearance.Medium</item>  
  54.   
  55. <item name="textAppearanceSmall">@android:style/TextAppearance.Small</item>  
  56.   
  57. <item name="textAppearanceLargeInverse">@android:style/TextAppearance.Large.Inverse</item>  
  58.   
  59. <item name="textAppearanceMediumInverse">@android:style/TextAppearance.Medium.Inverse</item>  
  60.   
  61. <item name="textAppearanceSmallInverse">@android:style/TextAppearance.Small.Inverse</item>  
  62.   
  63. <item name="textAppearanceSearchResultTitle">@android:style/TextAppearance.SearchResult.Title</item>  
  64.   
  65. <item name="textAppearanceSearchResultSubtitle">@android:style/TextAppearance.SearchResult.Subtitle</item>  
  66.   
  67.    
  68.   
  69. <item name="textAppearanceEasyCorrectSuggestion">@android:style/TextAppearance.EasyCorrectSuggestion</item>  
  70.   
  71. <item name="textAppearanceMisspelledSuggestion">@android:style/TextAppearance.MisspelledSuggestion</item>  
  72.   
  73. <item name="textAppearanceAutoCorrectionSuggestion">@android:style/TextAppearance.AutoCorrectionSuggestion</item>  
  74.   
  75.    
  76.   
  77. <item name="textAppearanceButton">@android:style/TextAppearance.Widget.Button</item>  
  78.   
  79.    
  80.   
  81. <item name="editTextColor">@android:color/primary_text_light</item>  
  82.   
  83. <item name="editTextBackground">@android:drawable/edit_text</item>  
  84.   
  85.    
  86.   
  87. <item name="candidatesTextStyleSpans">@android:string/candidates_style</item>  
  88.   
  89.    
  90.   
  91. <item name="textCheckMark">@android:drawable/indicator_check_mark_dark</item>  
  92.   
  93. <item name="textCheckMarkInverse">@android:drawable/indicator_check_mark_light</item>  
  94.   
  95.    
  96.   
  97. <item name="textAppearanceLargePopupMenu">@android:style/TextAppearance.Widget.PopupMenu.Large</item>  
  98.   
  99. <item name="textAppearanceSmallPopupMenu">@android:style/TextAppearance.Widget.PopupMenu.Small</item>  

按钮

[html] view
plain
 copy

  1. <!-- Button styles -->  
  2.   
  3. <item name="buttonStyle">@android:style/Widget.Button</item>  
  4.   
  5.    
  6.   
  7. <item name="buttonStyleSmall">@android:style/Widget.Button.Small</item>  
  8.   
  9. <item name="buttonStyleInset">@android:style/Widget.Button.Inset</item>  
  10.   
  11.    
  12.   
  13. <item name="buttonStyleToggle">@android:style/Widget.Button.Toggle</item>  
  14.   
  15.    
  16.   
  17. <item name="selectableItemBackground">@android:drawable/item_background</item>  
  18.   
  19. <item name="borderlessButtonStyle">?android:attr/buttonStyle</item>  
  20.   
  21. <item name="homeAsUpIndicator">@android:drawable/ic_ab_back_holo_dark</item>  

list

[html] view
plain
 copy

  1. <!-- List attributes -->  
  2.   
  3. <item name="listPreferredItemHeight">64dip</item>  
  4.   
  5. <item name="listPreferredItemHeightSmall">?android:attr/listPreferredItemHeight</item>  
  6.   
  7. <item name="listPreferredItemHeightLarge">?android:attr/listPreferredItemHeight</item>  
  8.   
  9. <item name="dropdownListPreferredItemHeight">?android:attr/listPreferredItemHeight</item>  
  10.   
  11. <item name="textAppearanceListItem">?android:attr/textAppearanceLarge</item>  
  12.   
  13. <item name="textAppearanceListItemSmall">?android:attr/textAppearanceLarge</item>  
  14.   
  15. <item name="listPreferredItemPaddingLeft">6dip</item>  
  16.   
  17. <item name="listPreferredItemPaddingRight">6dip</item>  
  18.   
  19. <item name="listPreferredItemPaddingStart">6dip</item>  
  20.   
  21. <item name="listPreferredItemPaddingEnd">6dip</item>  

window

[html] view
plain
 copy

  1. <!-- Window attributes -->  
  2.   
  3. <item name="windowBackground">@android:drawable/screen_background_selector_dark</item>  
  4.   
  5. <item name="windowFrame">@null</item>  
  6.   
  7. <item name="windowNoTitle">false</item>  
  8.   
  9. <item name="windowFullscreen">false</item>  
  10.   
  11. <item name="windowOverscan">false</item>  
  12.   
  13. <item name="windowIsFloating">false</item>  
  14.   
  15. <item name="windowContentOverlay">@null</item>  
  16.   
  17. <item name="windowShowWallpaper">false</item>  
  18.   
  19. <item name="windowTitleStyle">@android:style/WindowTitle</item>  
  20.   
  21. <item name="windowTitleSize">25dip</item>  
  22.   
  23. <item name="windowTitleBackgroundStyle">@android:style/WindowTitleBackground</item>  
  24.   
  25. <item name="android:windowAnimationStyle">@android:style/Animation.Activity</item>  
  26.   
  27. <item name="android:windowSoftInputMode">stateUnspecified|adjustUnspecified</item>  
  28.   
  29. <item name="windowActionBar">false</item>  
  30.   
  31. <item name="windowActionModeOverlay">false</item>  
  32.   
  33. <item name="windowCloseOnTouchOutside">false</item>  
  34.   
  35. <item name="windowTranslucentStatus">false</item>  
  36.   
  37. <item name="windowTranslucentNavigation">false</item>  

Dialog

[html] view
plain
 copy

  1. <!-- Dialog attributes -->  
  2.   
  3. <item name="dialogTheme">@android:style/Theme.Dialog</item>  
  4.   
  5. <item name="dialogTitleIconsDecorLayout">@layout/dialog_title_icons</item>  
  6.   
  7. <item name="dialogCustomTitleDecorLayout">@layout/dialog_custom_title</item>  
  8.   
  9. <item name="dialogTitleDecorLayout">@layout/dialog_title</item>  

AlertDialog

[html] view
plain
 copy

  1. <!-- AlertDialog attributes -->  
  2.   
  3. <item name="alertDialogTheme">@android:style/Theme.Dialog.Alert</item>  
  4.   
  5. <item name="alertDialogStyle">@android:style/AlertDialog</item>  
  6.   
  7. <item name="alertDialogCenterButtons">true</item>  
  8.   
  9. <item name="alertDialogIcon">@android:drawable/ic_dialog_alert</item>   

Panel

[html] view
plain
 copy

  1. <!-- Panel attributes -->  
  2.   
  3. <item name="panelBackground">@android:drawable/menu_background</item>  
  4.   
  5. <item name="panelFullBackground">@android:drawable/menu_background_fill_parent_width</item>  
  6.   
  7. <!-- These three attributes do not seems to be used by the framework. Declared public though -->  
  8.   
  9. <item name="panelColorBackground">#000</item>  
  10.   
  11. <item name="panelColorForeground">?android:attr/textColorPrimary</item>  
  12.   
  13. <item name="panelTextAppearance">?android:attr/textAppearance</item>  
  14.   
  15.    
  16.   
  17. <item name="panelMenuIsCompact">false</item>  
  18.   
  19. <item name="panelMenuListWidth">296dip</item>   

滚动条

[html] view
plain
 copy

  1. <!-- Scrollbar attributes -->  
  2.   
  3. <item name="scrollbarFadeDuration">250</item>  
  4.   
  5. <item name="scrollbarDefaultDelayBeforeFade">300</item>   
  6.   
  7. <item name="scrollbarSize">10dip</item>  
  8.   
  9. <item name="scrollbarThumbHorizontal">@android:drawable/scrollbar_handle_horizontal</item>  
  10.   
  11. <item name="scrollbarThumbVertical">@android:drawable/scrollbar_handle_vertical</item>  
  12.   
  13. <item name="scrollbarTrackHorizontal">@null</item>  
  14.   
  15. <item name="scrollbarTrackVertical">@null</item>  

文字选中(Text Selection)

[html] view
plain
 copy

  1. <!-- Text selection handle attributes -->  
  2.   
  3. <item name="textSelectHandleLeft">@android:drawable/text_select_handle_left</item>  
  4.   
  5. <item name="textSelectHandleRight">@android:drawable/text_select_handle_right</item>  
  6.   
  7. <item name="textSelectHandle">@android:drawable/text_select_handle_middle</item>  
  8.   
  9. <item name="textSelectHandleWindowStyle">@android:style/Widget.TextSelectHandle</item>  
  10.   
  11. <item name="textEditPasteWindowLayout">@android:layout/text_edit_paste_window</item>  
  12.   
  13. <item name="textEditNoPasteWindowLayout">@android:layout/text_edit_no_paste_window</item>  
  14.   
  15. <item name="textEditSidePasteWindowLayout">@android:layout/text_edit_side_paste_window</item>  
  16.   
  17. <item name="textEditSideNoPasteWindowLayout">@android:layout/text_edit_side_no_paste_window</item>  
  18.   
  19. <item name="textSuggestionsWindowStyle">@android:style/Widget.TextSuggestionsPopupWindow</item>  
  20.   
  21. <item name="textEditSuggestionItemLayout">@android:layout/text_edit_suggestion_item</item>  
  22.   
  23. <item name="textCursorDrawable">@null</item>  

Widget样式

[html] view
plain
 copy

  1. <!-- Widget styles -->  
  2.         <item name="absListViewStyle">@android:style/Widget.AbsListView</item>  
  3.         <item name="autoCompleteTextViewStyle">@android:style/Widget.AutoCompleteTextView</item>          
  4.         <item name="checkboxStyle">@android:style/Widget.CompoundButton.CheckBox</item>  
  5.         <item name="checkedTextViewStyle">@android:style/Widget.CheckedTextView</item>  
  6.         <item name="dropDownListViewStyle">@android:style/Widget.ListView.DropDown</item>  
  7.         <item name="editTextStyle">@android:style/Widget.EditText</item>  
  8.         <item name="expandableListViewStyle">@android:style/Widget.ExpandableListView</item>  
  9.         <item name="expandableListViewWhiteStyle">@android:style/Widget.ExpandableListView.White</item>  
  10.         <item name="galleryStyle">@android:style/Widget.Gallery</item>  
  11.         <item name="gestureOverlayViewStyle">@android:style/Widget.GestureOverlayView</item>  
  12.         <item name="gridViewStyle">@android:style/Widget.GridView</item>  
  13.         <item name="imageButtonStyle">@android:style/Widget.ImageButton</item>  
  14.         <item name="imageWellStyle">@android:style/Widget.ImageWell</item>  
  15.         <item name="listViewStyle">@android:style/Widget.ListView</item>  
  16.         <item name="listViewWhiteStyle">@android:style/Widget.ListView.White</item>  
  17.         <item name="popupWindowStyle">@android:style/Widget.PopupWindow</item>  
  18.         <item name="progressBarStyle">@android:style/Widget.ProgressBar</item>  
  19.         <item name="progressBarStyleHorizontal">@android:style/Widget.ProgressBar.Horizontal</item>  
  20.         <item name="progressBarStyleSmall">@android:style/Widget.ProgressBar.Small</item>  
  21.         <item name="progressBarStyleSmallTitle">@android:style/Widget.ProgressBar.Small.Title</item>  
  22.         <item name="progressBarStyleLarge">@android:style/Widget.ProgressBar.Large</item>  
  23.         <item name="progressBarStyleInverse">@android:style/Widget.ProgressBar.Inverse</item>  
  24.         <item name="progressBarStyleSmallInverse">@android:style/Widget.ProgressBar.Small.Inverse</item>  
  25.         <item name="progressBarStyleLargeInverse">@android:style/Widget.ProgressBar.Large.Inverse</item>  
  26.         <item name="seekBarStyle">@android:style/Widget.SeekBar</item>  
  27.         <item name="ratingBarStyle">@android:style/Widget.RatingBar</item>  
  28.         <item name="ratingBarStyleIndicator">@android:style/Widget.RatingBar.Indicator</item>  
  29.         <item name="ratingBarStyleSmall">@android:style/Widget.RatingBar.Small</item>  
  30.         <item name="radioButtonStyle">@android:style/Widget.CompoundButton.RadioButton</item>  
  31.         <item name="scrollViewStyle">@android:style/Widget.ScrollView</item>  
  32.         <item name="horizontalScrollViewStyle">@android:style/Widget.HorizontalScrollView</item>  
  33.         <item name="spinnerStyle">@android:style/Widget.Spinner</item>  
  34.         <item name="dropDownSpinnerStyle">@android:style/Widget.Spinner.DropDown</item>  
  35.         <item name="starStyle">@android:style/Widget.CompoundButton.Star</item>  
  36.         <item name="tabWidgetStyle">@android:style/Widget.TabWidget</item>  
  37.         <item name="textViewStyle">@android:style/Widget.TextView</item>  
  38.         <item name="errorMessageBackground">@android:drawable/popup_inline_error</item>  
  39.         <item name="errorMessageAboveBackground">@android:drawable/popup_inline_error_above</item>  
  40.         <item name="webTextViewStyle">@android:style/Widget.WebTextView</item>  
  41.         <item name="webViewStyle">@android:style/Widget.WebView</item>  
  42.         <item name="dropDownItemStyle">@android:style/Widget.DropDownItem</item>  
  43.         <item name="spinnerDropDownItemStyle">@android:style/Widget.DropDownItem.Spinner</item>  
  44.         <item name="spinnerItemStyle">@android:style/Widget.TextView.SpinnerItem</item>  
  45.         <item name="dropDownHintAppearance">@android:style/TextAppearance.Widget.DropDownHint</item>  
  46.         <item name="keyboardViewStyle">@android:style/Widget.KeyboardView</item>  
  47.         <item name="quickContactBadgeOverlay">@android:drawable/quickcontact_badge_overlay_dark</item>  
  48.         <item name="quickContactBadgeStyleWindowSmall">@android:style/Widget.QuickContactBadge.WindowSmall</item>  
  49.         <item name="quickContactBadgeStyleWindowMedium">@android:style/Widget.QuickContactBadge.WindowMedium</item>  
  50.         <item name="quickContactBadgeStyleWindowLarge">@android:style/Widget.QuickContactBadge.WindowLarge</item>  
  51.         <item name="quickContactBadgeStyleSmallWindowSmall">@android:style/Widget.QuickContactBadgeSmall.WindowSmall</item>  
  52.         <item name="quickContactBadgeStyleSmallWindowMedium">@android:style/Widget.QuickContactBadgeSmall.WindowMedium</item>  
  53.         <item name="quickContactBadgeStyleSmallWindowLarge">@android:style/Widget.QuickContactBadgeSmall.WindowLarge</item>  
  54.         <item name="listPopupWindowStyle">@android:style/Widget.ListPopupWindow</item>  
  55.         <item name="popupMenuStyle">@android:style/Widget.PopupMenu</item>  
  56.         <item name="activityChooserViewStyle">@android:style/Widget.ActivityChooserView</item>  
  57.   
  58.         <item name="mediaRouteButtonStyle">@android:style/Widget.DeviceDefault.MediaRouteButton</item>  

Preference样式(Preference Style)

[html] view
plain
 copy

  1. <!-- Preference styles -->  
  2.       <item name="preferenceScreenStyle">@android:style/Preference.PreferenceScreen</item>  
  3.       <item name="preferenceFragmentStyle">@style/PreferenceFragment</item>  
  4.       <item name="preferenceCategoryStyle">@android:style/Preference.Category</item>  
  5.       <item name="preferenceStyle">@android:style/Preference</item>  
  6.       <item name="preferenceInformationStyle">@android:style/Preference.Information</item>  
  7.       <item name="checkBoxPreferenceStyle">@android:style/Preference.CheckBoxPreference</item>  
  8.       <item name="switchPreferenceStyle">@android:style/Preference.SwitchPreference</item>  
  9.       <item name="yesNoPreferenceStyle">@android:style/Preference.DialogPreference.YesNoPreference</item>  
  10.       <item name="dialogPreferenceStyle">@android:style/Preference.DialogPreference</item>  
  11.       <item name="editTextPreferenceStyle">@android:style/Preference.DialogPreference.EditTextPreference</item>  
  12.       <item name="ringtonePreferenceStyle">@android:style/Preference.RingtonePreference</item>  
  13.       <item name="preferenceLayoutChild">@android:layout/preference_child</item>  
  14.       <item name="preferencePanelStyle">@style/PreferencePanel</item>  
  15.       <item name="preferenceHeaderPanelStyle">@style/PreferenceHeaderPanel</item>  
  16.       <item name="preferenceListStyle">@style/PreferenceHeaderList</item>  
  17.       <item name="preferenceFragmentListStyle">@style/PreferenceFragmentList</item>  
  18.       <item name="preferenceFragmentPaddingSide">@dimen/preference_fragment_padding_side</item>  
  19.       <item name="detailsElementBackground">@android:drawable/panel_bg_holo_dark</item>  

search控件样式

[html] view
plain
 copy

  1. <!-- Search widget styles -->  
  2. <item name="searchWidgetCorpusItemBackground">@android:color/search_widget_corpus_item_background</item>  
  3. <!-- SearchView attributes -->  
  4. <item name="searchDropdownBackground">@android:drawable/spinner_dropdown_background</item>  
  5. <item name="searchViewTextField">@drawable/textfield_searchview_holo_dark</item><item name="searchViewTextFieldRight">@drawable/textfield_searchview_right_holo_dark</item>  
  6. <item name="searchViewCloseIcon">@android:drawable/ic_clear</item>  
  7. <item name="searchViewSearchIcon">@android:drawable/ic_search</item>  
  8. <item name="searchViewGoIcon">@android:drawable/ic_go</item>  
  9. <item name="searchViewVoiceIcon">@android:drawable/ic_voice_search</item>  
  10. <item name="searchViewEditQuery">@android:drawable/ic_commit_search_api_holo_dark</item>  
  11. <item name="searchViewEditQueryBackground">?attr/selectableItemBackground</item>  
  12.   
  13. <item name="searchDialogTheme">@style/Theme.SearchBar</item>  

ActionBar样式( Action bar Style)

[html] view
plain
 copy

  1. <!-- Action bar styles -->  
  2. <item name="actionDropDownStyle">@android:style/Widget.Spinner.DropDown</item>  
  3. <item name="actionButtonStyle">@android:style/Widget.ActionButton</item>  
  4. <item name="actionOverflowButtonStyle">@android:style/Widget.ActionButton.Overflow</item>  
  5. <item name="actionModeBackground">@android:drawable/cab_background_top_holo_dark</item>  
  6. <item name="actionModeSplitBackground">@null</item>  
  7. <item name="actionModeCloseDrawable">@android:drawable/ic_menu_close_clear_cancel</item>  
  8. <item name="actionModeCutDrawable">@android:drawable/ic_menu_cut_holo_dark</item>  
  9. <item name="actionModeCopyDrawable">@android:drawable/ic_menu_copy_holo_dark</item>  
  10. <item name="actionModePasteDrawable">@android:drawable/ic_menu_paste_holo_dark</item>  
  11. <item name="actionModeSelectAllDrawable">@android:drawable/ic_menu_selectall_holo_dark</item>  
  12. <item name="actionModeShareDrawable">@android:drawable/ic_menu_share_holo_dark</item>  
  13. <item name="actionModeFindDrawable">@android:drawable/ic_menu_find_holo_dark</item>  
  14. <item name="actionModeWebSearchDrawable">@android:drawable/ic_menu_search</item>  
  15. <item name="actionBarTabStyle">@style/Widget.ActionBar.TabView</item>  
  16. <item name="actionBarTabBarStyle">@style/Widget.ActionBar.TabBar</item>  
  17. <item name="actionBarTabTextStyle">@style/Widget.ActionBar.TabText</item>  
  18. <item name="actionModeStyle">@style/Widget.ActionMode</item>  
  19. <item name="actionModeCloseButtonStyle">@style/Widget.ActionButton.CloseMode</item>  
  20. <item name="actionBarStyle">@android:style/Widget.ActionBar</item>  
  21. <item name="actionBarSplitStyle">?android:attr/actionBarStyle</item>  
  22. <item name="actionBarSize">@dimen/action_bar_default_height</item>  
  23. <item name="actionModePopupWindowStyle">?android:attr/popupWindowStyle</item>  
  24. <item name="actionMenuTextAppearance">@android:style/TextAppearance.Holo.Widget.ActionBar.Menu</item>  
  25. <item name="actionMenuTextColor">?android:attr/textColorPrimary</item>  
  26. <item name="actionBarWidgetTheme">@null</item>  
  27. <item name="actionBarDivider">?android:attr/dividerVertical</item>  
  28. <item name="actionBarItemBackground">?android:attr/selectableItemBackground</item>  
  29.   
  30. <item name="dividerVertical">@drawable/divider_vertical_dark</item>  
  31. <item name="dividerHorizontal">@drawable/divider_vertical_dark</item>  
  32. <item name="buttonBarStyle">@android:style/ButtonBar</item>  
  33. <item name="buttonBarButtonStyle">?android:attr/buttonStyle</item>  
  34. <item name="segmentedButtonStyle">@android:style/SegmentedButton</item>  

其他样式

[html] view
plain
 copy

  1. <!-- PreferenceFrameLayout attributes -->  
  2. <item name="preferenceFrameLayoutStyle">@android:style/Widget.PreferenceFrameLayout</item>  
  3.   
  4. <!-- NumberPicker style-->  
  5. <item name="numberPickerStyle">@style/Widget.NumberPicker</item>  
  6.   
  7. <!-- CalendarView style-->  
  8. <item name="calendarViewStyle">@style/Widget.CalendarView</item>  
  9.   
  10. <!-- TimePicker style -->  
  11. <item name="timePickerStyle">@style/Widget.TimePicker</item>  
  12.   
  13. <!-- DatePicker style -->  
  14. <item name="datePickerStyle">@style/Widget.DatePicker</item>  
  15.   
  16. <item name="fastScrollThumbDrawable">@android:drawable/scrollbar_handle_accelerated_anim2</item>  
  17. <item name="fastScrollTrackDrawable">@null</item>  
  18. <item name="fastScrollPreviewBackgroundRight">@android:drawable/menu_submenu_background</item>  
  19. <item name="fastScrollPreviewBackgroundLeft">@android:drawable/menu_submenu_background</item>  
  20. <item name="fastScrollOverlayPosition">floating</item>  
  21. <item name="fastScrollTextColor">@android:color/primary_text_dark</item>  
  22.   
  23. <!-- Pointer style -->  
  24. <item name="pointerStyle">@android:style/Pointer</item>  
  25.   
  26. <!-- Accessibility focused drawable. -->  
  27. <item name="accessibilityFocusedDrawable">@android:drawable/view_accessibility_focused</item>  

3、一些细化的style(特别是大量的控件的样式)定义在了styles.xml

themes.xml偏全局,styles.xml偏细化。
我直接贴出链接地址,大家查看:
https://github.com/CyanogenMod/android_frameworks_base/blob/cm-11.0/core/res/res/values/styles.xml

4、我们能做什么

两点说明:

  • 我们可以根据这些样式改变系统控件的样式
  • 但不是所有的样式我们都可以修改,比如AlertDialog,布局和一些属性都是写在硬编码中了,我们是无法修改的。

通过学习这些主题和样式,我们能准确的把握我们能定制哪些样式,哪些我们不能定制,是否需要重新写一套替代的UI控件。

这个在项目决策和进度评估上是非常重要的。

时间: 2024-12-01 05:09:26

Android Theme详细的相关文章

android:theme决定AlertDialog的背景颜色

最近遇到一个很奇怪的问题,两个项目弹出的dialog背景颜色不一样,一个是黑色的,一个是白色的,最后发现是AndroidManifest.xml文件里面application指定的android:theme设置的样式不一样. 黑色dialog背景效果图: dialog是黑色的时候application指定的样式如下: <!-- Application theme. -->   <style name="AppTheme" parent="android:Th

Android应用开发——系统自带样式Android:theme

转自:http://sunney2012.iteye.com/blog/1163543 android:theme="@android:style/Theme.Dialog"   将一个Activity显示为对话框模式  android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏  android:theme="@android:style/Theme.NoTitleBar.Fullscreen&

Android系统自带样式 (android:theme)_Android

android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式 android:theme="@android:style/Theme.NoTitleBar" : 不显示应用程序标题栏 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" : 不显示应用程序标题栏,并全屏 android:theme="Theme

Gradle编译打包Android apk详细介绍_Android

Gradle编译打包Android apk详细介绍 理解Gradle构建过程,解读Android Gradle插件的配置 阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章. APK包是一个ZIP压缩包,从Java源代码.资源文件到生成这个APK,经过了编译打包一系列特定的过程,SDK文档(/docs/tools/building/index.html)中找到.而这一系列特定的过程,重复繁琐,构建工具(build tool)就是来流程化

谈谈Android Fragments 详细使用_Android

Fragments 诞生初衷 自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片.片段.其上的是为了解决不同屏幕分辩率的动态和灵活UI设计.大屏幕如平板小屏幕如手机,平板电脑的设计使得其有更多的空间来放更多的UI组件,而多出来的空间存放UI使其会产生更多的交互,从而诞生了fragments .fragments 的设计不需要你来亲自管理view hierarchy 的复杂变化,通过将Activity 的布局分散到frament 中,可以在运行时修改activ

Gradle编译打包Android apk详细介绍

Gradle编译打包Android apk详细介绍 理解Gradle构建过程,解读Android Gradle插件的配置 阅读本文一定是要使用过Gradle生成apk,文中不会讲如何安装运行Gradle,如有需要可先看文末的参考文章. APK包是一个ZIP压缩包,从Java源代码.资源文件到生成这个APK,经过了编译打包一系列特定的过程,SDK文档(/docs/tools/building/index.html)中找到.而这一系列特定的过程,重复繁琐,构建工具(build tool)就是来流程化

Android系统自带样式 (android:theme)

android:theme="@android:style/Theme.Dialog" : Activity显示为对话框模式 android:theme="@android:style/Theme.NoTitleBar" : 不显示应用程序标题栏 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" : 不显示应用程序标题栏,并全屏 android:theme="Theme

iPhone上安装Android系统详细步骤

现在还有一些Bug和性能问题,所以手机可以用,但速度不会很快.如果做些非常规操作(比如强行关闭iPhone),那就很有可能不能恢复系统.但不管怎么样,任何Bug都不会让你的iPhone变砖或永久损坏你的iPhone,只能说目前还不完善. 最后还要提醒,媒体同步还不能用,因此下载媒体文件到手机会是件很痛苦的事.我尽可能的在拼命工作,希望能尽快解决这些问题. 刷机前必读 首先要了解iPhone的一些基本的刷机概念:怎样让iPhone进入恢复模式,怎样进入DFU模式,还有如何在这些模式下恢复固件. i

Android Fragments 详细使用

Fragments 诞生初衷      自从Android 3.0中引入fragments 的概念,根据词海的翻译可以译为:碎片.片段.其上的是为了解决不同屏幕分辩率的动态和灵活UI设计.大屏幕如平板小屏幕如手机,平板电脑的设计使得其有 更多的空间来放更多的UI组件,而多出来的空间存放UI使其会产生更多的交互,从而诞生了fragments .fragments 的设计不需要你来亲自管理view hierarchy 的复杂变化,通过将Activity 的布局分散到frament 中,可以在运行时修