A (not so long) way to handle it is generating yourself the events of the views under the panel when needed
For instance, assume you want to handle "CLick" events to the views under the panel (and you know where these views are)
>You receive an ACTION_DOWN event on your transparent panel (which is not handled by any of the views in it)
>According to its coordinates (relative to he transparent panel), you decide wether it belongs to some view under it or not
> If so, you keep: a reference to this view (let's name it recordedView), the
transformed coordinates [touch.X - yourImageview.X , touch.Y - youImageView.Y ] and a time stamp. All these vars defined in Globals for later use
> Wait until you receive an ACTION_UP event in the transparent panel.
> Now check if the (transformed) coordinates still belong to the imageview, and if the ellapsed time is small enough to be considered a "Click"
> If so, call yourImageview_Click( recordedView as Object )
> If not, do nothing.
Can't code it right now, but should be quite easy