onMeasure, onLayout, onDraw: Briefly speaking

Principles of Custom Layouts: A semi article

Here are steps involved in creating a custom layout

Inherit from ViewGroup
Override OnMeasure
  Use a pencil and paper to figure out your algorithm
  Use ViewGroup.measureChild(). Don't directly use child.measure()
  (Unless you know what you are doing)
  Use layout params to stuff the origin of each child view
  Take into accound padding
Override OnLayout
  Just retrieve the layout param object and use its origin
Implement custom LayoutParams
Override layout params construction methods
Test it with exact, match parent, wrap content, and weights

The dispatch pattern in Android

Principles of Compound Controls: A semi article

Compound Controls

Custom Components

Reading custom attributes

Managing View State in Android: Techniques and Approaches

Customizing a View: Essential Code Snippets

10) Date Controls

30-Oct-12

Date Controls

11) Custom views

23-Oct-12

Custom views

12) Responding to events

23-Oct-12

Responding to events

13) On MeasureSpec

23-Oct-12

On MeasureSpec

What can you use the Hierarchy Viewer for?

15) Working with 2D graphics

19-Oct-12

Working with 2D graphics

How do you work with a surface view?

Understand Android layout internals