When polishing your application, you'll find that certain styling requirements become common over the entire application, but in specific places. For example, the positive / go buttons should have a specific background color that highlights them from the other buttons in the application, or that the negative / delete buttons should have a color that highlights them as destructive for the user.
Android offers you the ability to define your own styles apart from those defined by the system. The theming system in Android is built entirely on top of the styling system. Styles have some very simple attributes:
- Styles can be named
- A style can change any attribute exposed in the layout XML file
- A style can inherit from another style and override its attributes (a bit like classes extending each other)
- Styles are defined as value resources (a bit like dimensions...