> your code must implement this kind of view, always, in this way
Could you elaborate on this? It seemed the opposite to me: I implemented my own view/activity stack, calculated button positions in pixels (no layouts), explicitly specified which keyboard to draw where and when, and so on. Did I miss all the structure?