I have several Views on an Activity which a user wants to touch quickly in succession and I capture these touches using a TouchListener
and handling MotionEvent.ACTION_DOWN
. However, if the user is using two hands, it's very likely that the next View will be 'Touch'ed before the user pulls the previous finger up. In this scenario, a MotionEvent.ACTION_MOVE
is fired for the first view rather than the desired MotionEvent.ACTION_DOWN
for the second view.
Is there any way to work around or prevent this behavior? I've tried dispatching a new event with MotionEvent.ACTION_UP
and also removing the event listener but neither seem to work.
The easiest way I found to force single touch across an entire app is to set it using a theme:
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:windowEnableSplitTouch">false</item>
<item name="android:splitMotionEvents">false</item>
</style>
Manifest:
<application
android:label="@string/app_name"
android:theme="@style/MyTheme" >