Androidでボタンの同時押し防止

ViewGroupにandroid:splitMotionEvents=false
を指定すると、そのViewGroupに含まれる子要素でタッチイベントの検出が共有されます。つまり、同時押しができなくなるってことですね。
同時押しが必要ないアプリだったら、アプリ全体の共通styleに
<item name="android:windowEnableSplitTouch">false</item>
を指定してしまえばOK。
そもそもこのオプションがナニモノなのか気になったので調べてみました。 Y.A.M の 雑記帳: Android 3.0 Platform - 3 -によると
- Android 3.0より前は1度に1つのViewだけがタッチイベントを受け取れた
- Android 3.0からは異なるViewが同時にタッチイベントを受け取れるようになった
android:splitMotionEvents=false
はこの「同時に受け取る」機能を無効にするオプション
ということのようです。
関連(するかもしれない)記事
おススメ