This is the kind of thing that seems to turn every straightforward, simple task in ExtJS into a scavenger hunt:
Docs: "Fires before a Component has been visually activated. Returning false from an event listener can prevent the activate from occurring."
Reality: "Doesn't fire."
(Side note: there's nothing in there about what the difference is between "visually activate", "render", and "show" is, either.)
I'd get into more detail but this (docs not matching behavior) is such a common occurrence in ExtJS/SenchaTouch that it doesn't seem worth it. Suggestion: Maybe sencha docs should be less "aspirational" and more "reflective of what's actually implemented", just a thought.
Ok, but why isn't that (special conditions, etc) pointed out in the documentation? It's basically impossible to figure out what can be trusted in the docs or not. The description of that event doesn't mention any mitigating circumstances or special requirements. It says, flat out, that it fires prior to activation. If that's not the case then why is it in there?
Also - the "show" event says that it only fires when the button is activated via the show() method. Is that always the case? And when I return false when using the render* events, it actually (for some reason) percolates up and keeps the whole view from displaying, so that's out too.