I'm stuck with this: I have a ViewGroup that hosts few Views. All Views has layout parameters: match_parent/match_parent. Views can be placed one over another like on the picture.
On touch event View should be selected (if tap happend over its filled rectangle) and only one View can be selected per time.
What is the best way to implement this?
UPD:
code in View:
@Override
public boolean onTouchEvent(MotionEvent event) {
float eventX = event.getX();
float eventY = event.getY();
// if it's over filled area
if (mBounds.contains((int)eventX, (int)eventY)) {
// set current view selected or perform other stuff
// also at this moment we need to unselect all siblings
mGestureDetector.onTouchEvent(event);
return true;
} else {
setSelected(false);
return false;
}
}