Split touch events
Previously, only a single view could accept touch events at onetime. Android 3.0 adds support for splitting touch events acrossviews and even windows, so different views can accept simultaneoustouch events.
Split touch events is enabled by default when an application targets Android 3.0. That is, when the application has set eitherthe android:minSdkVersion
or android:targetSdkVersion
attribute's value to"11"
.
However, the following properties allow you to disable splittouch events across views inside specific view groups and acrosswindows.
- The
android:splitMotionEvents
attribute for view groups allows you to disable split touch eventsthat occur between child views in a layout. For example:<LinearLayout android:splitMotionEvents="false" ... > ... </LinearLayout>
This way, child views in the linear layout cannot split touchevents—only one view can receive touch events at a time.
- The
android:windowEnableSplitTouch
style property allows you to disable split touch events acrosswindows, by applying it to a theme for the activity or entireapplication. For example:<style name="NoSplitMotionEvents" parent="android:Theme.Holo"> <item name="android:windowEnableSplitTouch">false</item> ... </style>
When this theme is applied to an
<activity>
or<application>
,only touch events within the current activity window are accepted.For example, by disabling split touch events across windows, thesystem bar cannot receive touch events at the same time as theactivity. This does not affect whether views inside theactivity can split touch events—by default, the activity can stillsplit touch events across views.For more information about creating a theme, read Applying Styles andThemes.