alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Android example source code file (themes.xml)

This example Android source code file (themes.xml) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Android by Example" TM.

Java - Android tags/keywords

as, default, dialog, if, in, list, menu/item, panel, preference, scrollbar, theme, this, variant, you

The themes.xml Android example source code

<?xml version="1.0" encoding="utf-8"?>
<!--
/*
 * Copyright (C) 2006-2008 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->

<resources>
    <!-- The default system theme. This is the theme used for activities
         that have not explicitly set their own theme.
         
         <p>You can count on this being a dark
         background with light text on top, but should try to make no
         other assumptions about its appearance. In particular, the text
         inside of widgets using this theme may be completely different,
         with the widget container being a light color and the text on top
         of it a dark color.
    -->
    <style name="Theme">
    
        <item name="colorForeground">@android:color/bright_foreground_dark
        <item name="colorForegroundInverse">@android:color/bright_foreground_dark_inverse
        <item name="colorBackground">@android:color/background_dark
        <item name="disabledAlpha">0.5
        <item name="backgroundDimAmount">0.5

        <!-- Text styles -->
        <item name="textAppearance">@android:style/TextAppearance
        <item name="textAppearanceInverse">@android:style/TextAppearance.Inverse

        <item name="textColorPrimary">@android:color/primary_text_dark
        <item name="textColorSecondary">@android:color/secondary_text_dark
        <item name="textColorTertiary">@android:color/tertiary_text_dark
        <item name="textColorPrimaryInverse">@android:color/primary_text_light
        <item name="textColorSecondaryInverse">@android:color/secondary_text_light
        <item name="textColorTertiaryInverse">@android:color/tertiary_text_light
        <item name="textColorPrimaryDisableOnly">@android:color/primary_text_dark_disable_only
        <item name="textColorPrimaryNoDisable">@android:color/primary_text_dark_nodisable
        <item name="textColorSecondaryNoDisable">@android:color/secondary_text_dark_nodisable
        <item name="textColorPrimaryInverseNoDisable">@android:color/primary_text_light_nodisable
        <item name="textColorSecondaryInverseNoDisable">@android:color/secondary_text_light_nodisable
        <item name="textColorHint">@android:color/hint_foreground_dark
        <item name="textColorHintInverse">@android:color/hint_foreground_light

        <item name="textAppearanceLarge">@android:style/TextAppearance.Large
        <item name="textAppearanceMedium">@android:style/TextAppearance.Medium
        <item name="textAppearanceSmall">@android:style/TextAppearance.Small
        <item name="textAppearanceLargeInverse">@android:style/TextAppearance.Large.Inverse
        <item name="textAppearanceMediumInverse">@android:style/TextAppearance.Medium.Inverse
        <item name="textAppearanceSmallInverse">@android:style/TextAppearance.Small.Inverse
        
        <item name="textAppearanceButton">@android:style/TextAppearance.Widget.Button
        
        <item name="textCheckMark">@android:drawable/indicator_check_mark_dark
        <item name="textCheckMarkInverse">@android:drawable/indicator_check_mark_light

        <!-- Button styles -->
        <item name="buttonStyle">@android:style/Widget.Button

        <item name="buttonStyleSmall">@android:style/Widget.Button.Small
        <item name="buttonStyleInset">@android:style/Widget.Button.Inset

        <item name="buttonStyleToggle">@android:style/Widget.Button.Toggle

        <!-- List attributes -->
        <item name="listPreferredItemHeight">64px
        <item name="listDivider">@drawable/divider_horizontal_dark
        <item name="listSeparatorTextViewStyle">@android:style/Widget.TextView.ListSeparator   
        
		<item name="listChoiceIndicatorSingle">@android:drawable/btn_radio
    	<item name="listChoiceIndicatorMultiple">@android:drawable/btn_check    

        <item name="expandableListPreferredItemPaddingLeft">40dip
        <item name="expandableListPreferredChildPaddingLeft">
                ?android:attr/expandableListPreferredItemPaddingLeft</item>

        <item name="expandableListPreferredItemIndicatorLeft">3dip
        <item name="expandableListPreferredItemIndicatorRight">33dip
        <item name="expandableListPreferredChildIndicatorLeft">
                ?android:attr/expandableListPreferredItemIndicatorLeft</item>
        <item name="expandableListPreferredChildIndicatorRight">
                ?android:attr/expandableListPreferredItemIndicatorRight</item>

        <!-- Gallery attributes -->
        <item name="galleryItemBackground">@android:drawable/gallery_item_background
        
        <!-- Window attributes -->
        <item name="windowBackground">@android:drawable/screen_background_dark
        <item name="windowFrame">@null
        <item name="windowNoTitle">false
        <item name="windowFullscreen">false
        <item name="windowIsFloating">false
        <item name="windowContentOverlay">@android:drawable/title_bar_shadow
        <item name="windowTitleStyle">@android:style/WindowTitle
        <item name="windowTitleSize">25dip
        <item name="windowTitleBackgroundStyle">@android:style/WindowTitleBackground
        <item name="android:windowAnimationStyle">@android:style/Animation.Activity

        <!-- Dialog attributes -->
        <item name="alertDialogStyle">@android:style/AlertDialog
        
        <!-- Panel attributes -->
        <item name="panelBackground">@android:drawable/menu_background
        <item name="panelFullBackground">@android:drawable/menu_background_fill_parent_width
        <item name="panelColorBackground">#fff
        <item name="panelColorForeground">?android:attr/textColorPrimaryInverse
        <item name="panelTextAppearance">?android:attr/textAppearanceInverse

        <!-- Scrollbar attributes -->
        <item name="scrollbarSize">10dip
        <item name="scrollbarThumbHorizontal">@android:drawable/scrollbar_handle_horizontal
        <item name="scrollbarThumbVertical">@android:drawable/scrollbar_handle_vertical
        <item name="scrollbarTrackHorizontal">@android:drawable/scrollbar_horizontal
        <item name="scrollbarTrackVertical">@android:drawable/scrollbar_vertical

        <!-- Widget styles -->
        <item name="absListViewStyle">@android:style/Widget.AbsListView
        <item name="autoCompleteTextViewStyle">@android:style/Widget.AutoCompleteTextView        
        <item name="checkboxStyle">@android:style/Widget.CompoundButton.CheckBox
        <item name="dropDownListViewStyle">@android:style/Widget.ListView.DropDown
        <item name="editTextStyle">@android:style/Widget.EditText
        <item name="expandableListViewStyle">@android:style/Widget.ExpandableListView
        <item name="galleryStyle">@android:style/Widget.Gallery
        <item name="gridViewStyle">@android:style/Widget.GridView        
        <item name="imageButtonStyle">@android:style/Widget.ImageButton
        <item name="imageWellStyle">@android:style/Widget.ImageWell
        <item name="listViewStyle">@android:style/Widget.ListView
        <item name="listViewWhiteStyle">@android:style/Widget.ListView.White
        <item name="popupWindowStyle">@android:style/Widget.PopupWindow
        <item name="progressBarStyle">@android:style/Widget.ProgressBar
        <item name="progressBarStyleHorizontal">@android:style/Widget.ProgressBar.Horizontal
        <item name="progressBarStyleSmall">@android:style/Widget.ProgressBar.Small
        <item name="progressBarStyleSmallTitle">@android:style/Widget.ProgressBar.Small.Title
        <item name="progressBarStyleLarge">@android:style/Widget.ProgressBar.Large
        <item name="seekBarStyle">@android:style/Widget.SeekBar
        <item name="ratingBarStyle">@android:style/Widget.RatingBar
        <item name="ratingBarStyleIndicator">@android:style/Widget.RatingBar.Indicator
        <item name="ratingBarStyleSmall">@android:style/Widget.RatingBar.Small
        <item name="radioButtonStyle">@android:style/Widget.CompoundButton.RadioButton
        <item name="scrollViewStyle">@android:style/Widget.ScrollView
        <item name="spinnerStyle">@android:style/Widget.Spinner
        <item name="starStyle">@android:style/Widget.CompoundButton.Star
        <item name="tabWidgetStyle">@android:style/Widget.TabWidget
        <item name="textViewStyle">@android:style/Widget.TextView
        <item name="webViewStyle">@android:style/Widget.WebView
        <item name="dropDownItemStyle">@android:style/Widget.DropDownItem
        <item name="spinnerDropDownItemStyle">@android:style/Widget.DropDownItem.Spinner
        <item name="spinnerItemStyle">@android:style/Widget.TextView.SpinnerItem
        <item name="dropDownHintAppearance">@android:style/TextAppearance.Widget.DropDownHint
        
        <!-- Preference styles -->
        <item name="preferenceScreenStyle">@android:style/Preference.PreferenceScreen
        <item name="preferenceCategoryStyle">@android:style/Preference.Category
        <item name="preferenceStyle">@android:style/Preference
        <item name="preferenceInformationStyle">@android:style/Preference.Information
        <item name="checkBoxPreferenceStyle">@android:style/Preference.CheckBoxPreference
        <item name="yesNoPreferenceStyle">@android:style/Preference.DialogPreference.YesNoPreference
        <item name="dialogPreferenceStyle">@android:style/Preference.DialogPreference
        <item name="editTextPreferenceStyle">@android:style/Preference.DialogPreference.EditTextPreference
        <item name="ringtonePreferenceStyle">@android:style/Preference.RingtonePreference
        <item name="preferenceLayoutChild">@android:layout/preference_child
    </style>
    
    <!-- Variant of the default (dark) theme with no title bar -->
    <style name="Theme.NoTitleBar">
        <item name="windowNoTitle">true
    </style>
    
    <!-- Variant of the default (dark) theme that has no title bar and
         fills the entire screen -->
    <style name="Theme.NoTitleBar.Fullscreen">
        <item name="windowFullscreen">true
    </style>
    
    <!-- Theme for a light background with dark text on top.  Set your activity
         to this theme if you would like such an appearance.  As with the
         default theme, you should try to assume little more than that the
         background will be a light color. -->
    <style name="Theme.Light">
        <item name="windowBackground">@drawable/screen_background_light
        <item name="colorBackground">@android:color/background_light
        <item name="colorForeground">@color/bright_foreground_light
        <item name="colorForegroundInverse">@android:color/bright_foreground_light_inverse

        <item name="textColorPrimary">@android:color/primary_text_light
        <item name="textColorSecondary">@android:color/secondary_text_light
        <item name="textColorTertiary">@android:color/tertiary_text_light
        <item name="textColorPrimaryInverse">@android:color/primary_text_dark
        <item name="textColorSecondaryInverse">@android:color/secondary_text_dark
        <item name="textColorTertiaryInverse">@android:color/tertiary_text_dark
        <item name="textColorPrimaryDisableOnly">@android:color/primary_text_light_disable_only
        <item name="textColorPrimaryNoDisable">@android:color/primary_text_light_nodisable
        <item name="textColorSecondaryNoDisable">@android:color/secondary_text_light_nodisable
        <item name="textColorPrimaryInverseNoDisable">@android:color/primary_text_dark_nodisable
        <item name="textColorSecondaryInverseNoDisable">@android:color/secondary_text_dark_nodisable
        <item name="textColorHint">@android:color/hint_foreground_light
        <item name="textColorHintInverse">@android:color/hint_foreground_dark
        
        <item name="popupWindowStyle">@android:style/Widget.PopupWindow
        
        <item name="textCheckMark">@android:drawable/indicator_check_mark_light
        <item name="textCheckMarkInverse">@android:drawable/indicator_check_mark_dark

        <item name="listViewStyle">@android:style/Widget.ListView.White
        <item name="listDivider">@drawable/divider_horizontal_bright
    </style>
    
    <!-- Variant of the light theme with no title bar -->
    <style name="Theme.Light.NoTitleBar">
        <item name="windowNoTitle">true
    </style>

    <!-- Variant of the light theme that has no title bar and
         fills the entire screen -->
    <style name="Theme.Light.NoTitleBar.Fullscreen">
        <item name="windowFullscreen">true
    </style>
    
    <!-- Special variation on the default theme that ensures the background is
         completely black.  This is useful for things like image viewers and
         media players.   If you want the normal (dark background) theme
         do <em>not use this, use {@link #Theme}. -->
    <style name="Theme.Black">
        <item name="windowBackground">@android:color/black
        <item name="colorBackground">@android:color/black
    </style>
    
    <!-- Variant of the black theme with no title bar -->
    <style name="Theme.Black.NoTitleBar">
        <item name="windowNoTitle">true
    </style>

    <!-- Variant of the black theme that has no title bar and
         fills the entire screen -->
    <style name="Theme.Black.NoTitleBar.Fullscreen">
        <item name="windowFullscreen">true
    </style>
    
    <!-- Default theme for translucent activities, that is windows that allow you
         to see through them to the windows behind.  This sets up the translucent
         flag and appropriate animations for your windows.  -->
    <style name="Theme.Translucent">
        <item name="windowBackground">@android:color/transparent
        <item name="android:windowIsTranslucent">true
        <item name="android:windowAnimationStyle">@android:style/Animation.Translucent
    </style>

    <!-- Variant of the translucent theme with no title bar -->
    <style name="Theme.Translucent.NoTitleBar">
        <item name="windowNoTitle">true
    </style>

    <!-- Variant of the translucent theme that has no title bar and
         fills the entire screen -->
    <style name="Theme.Translucent.NoTitleBar.Fullscreen">
        <item name="windowFullscreen">true
    </style>
    
    <!-- Default theme for dialog windows and activities, which is used by the
         {@link android.app.Dialog} class.  This changes the window to be
         floating (not fill the entire screen), and puts a frame around its
         contents.  You can set this theme on an activity if you would like to
         make an activity that looks like a Dialog. -->
    <style name="Theme.Dialog">
        <item name="android:windowFrame">@null
        <item name="android:windowTitleStyle">@android:style/DialogWindowTitle
        <item name="android:windowBackground">@android:drawable/panel_background
        <item name="android:windowIsFloating">true
        <item name="android:windowContentOverlay">@android:drawable/panel_separator
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog
    </style>

    <!-- Default theme for alert dialog windows, which is used by the
         {@link android.app.AlertDialog} class.  This is basically a dialog
         but sets the background to empty so it can do two-tone backgrounds. -->
    <style name="Theme.Dialog.Alert">
        <item name="windowBackground">@android:color/transparent
        <item name="windowTitleStyle">@android:style/DialogWindowTitle
        <item name="windowIsFloating">true
        <item name="windowContentOverlay">@drawable/panel_separator
    </style>
    
    <!-- Menu Themes -->
    <eat-comment />

    <style name="Theme.IconMenu">
        <!-- Menu/item attributes -->
        <item name="android:itemTextAppearance">@android:style/TextAppearance.Widget.IconMenu.Item
        <item name="android:itemBackground">@android:drawable/menu_selector
        <item name="android:itemIconDisabledAlpha">?android:attr/disabledAlpha
        <item name="android:horizontalDivider">@android:drawable/divider_horizontal_bright
        <item name="android:verticalDivider">@android:drawable/divider_vertical_bright
        <item name="android:windowAnimationStyle">@android:style/Animation.OptionsPanel
        <item name="android:moreIcon">@android:drawable/ic_menu_more
    </style>

    <style name="Theme.ExpandedMenu">
        <!-- Menu/item attributes -->
        <item name="android:itemTextAppearance">?android:attr/textAppearanceLargeInverse
        <item name="android:listViewStyle">@android:style/Widget.ListView.Menu
        <item name="android:windowAnimationStyle">@android:style/Animation.OptionsPanel
    </style>

    <!-- @hide -->
    <style name="Theme.Dialog.AppError">
        <item name="windowFrame">@null
        <item name="windowTitleStyle">@android:style/DialogWindowTitle
        <item name="windowBackground">@android:color/transparent
        <item name="windowIsFloating">true
        <item name="windowContentOverlay">@drawable/panel_separator
        <item name="textAppearance">@style/TextAppearance.Theme.Dialog.AppError
    </style>
</resources>

Other Android examples (source code examples)

Here is a short list of links related to this Android themes.xml source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.