私はこれで立ち往生しています:いくつかのビューをホストするViewGroupがあります。すべてのビューにはレイアウト パラメーターがあります: match_parent/match_parent。ビューは、写真のように重ねて配置できます。
タッチ イベントでビューを選択する必要があり (塗りつぶされた四角形をタップした場合)、一度に選択できるビューは 1 つだけです。
これを実装する最良の方法は何ですか?
更新:
ビュー内のコード:
@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;
}
}