Finding all available styles defined by android platform themes
In several android styling tutorials parent style elements are used that i can not find in the android.R.style.* styles (http://developer.android.com/reference/android/R.style.html).
A few examples are from the http://android-developers.blogspot.com/2011/04/customizing-action-bar.html action bar article. Nick uses parent styles like:
<style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar">
...
</style>
or
<style name="MyActionBarTabStyle" parent="android:style/Widget.Holo.Light.ActionBarView_TabView">
...
</style>
Where do these parent styles come from? Is it possible to list all available parent styles?
Thanks.
As stated in the "Applying Styles and Themes" article:
The Android platform provides a large collection of styles and themes that you can use in your applications. You can find a reference of all available styles in the R.style class. To use the styles listed here, replace all underscores in the style name with a period. For example, you can apply the Theme_NoTitleBar theme with
"@android:style/Theme.NoTitleBar"
.The R.style reference, however, is not well documented and does not thoroughly describe the styles, so viewing the actual source code for these styles and themes will give you a better understanding of what style properties each one provides. For a better reference to the Android styles and themes, see the following source code:
- Android Styles (styles.xml)
- Android Themes (themes.xml)
These files will help you learn through example. For instance, in the Android themes source code, you'll find a declaration for
<style name="Theme.Dialog">
. In this definition, you'll see all of the properties that are used to style dialogs that are used by the Android framework.
For "android:style/Widget.Holo.Light.ActionBarView_TabView" see: http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_ActionBar_TabView ...and note the API level it was introduced at!
For "android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar" try: http://developer.android.com/reference/android/R.style.html#Widget_Holo_Light_DropDownItem_Spinner
The latter is just my best guess - I can't get the list to actually drop down.
Parent
attribute is a optional one while creating your own themes
or styles
.
Basically parent
attributes are used for inheriting the styles which are already defined in the platform itself.
If we wish to inherit a theme
or style
and overwriting some features, we can use parent
attribute.
Here's a link for the all available platform defined styles
.
And one more tip :
If you want to inherit your own style
that you created by yourself means follow this example to inherit.
<style name="MyDropDownNav.Red">
<item name="android:textColor">#FF0000</item>
</style>