| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Copyright 2013 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <sample> |
| <name>MultiWindowPlayground</name> |
| <group>UI</group> |
| <package>com.example.android.multiwindowplayground</package> |
| |
| <minSdk>24</minSdk> |
| <compileSdkVersion>24</compileSdkVersion> |
| <targetSdkVersion>24</targetSdkVersion> |
| |
| <strings> |
| <intro> |
| <![CDATA[ |
| This sample demonstrates the use of the multi-window API available |
| in Android N. It shows the use of new Intent flags and |
| AndroidManifest properties to define the multi-window behavior. |
| Switch the sample app into multi-window mode to see how it affects |
| the lifecycle and behavior of the app. |
| ]]> |
| </intro> |
| </strings> |
| |
| <template src="base-build" /> |
| |
| <metadata> |
| <status>PUBLISHED</status> |
| <categories>UI</categories> |
| <technologies>Android</technologies> |
| <languages>Java</languages> |
| <solutions>Mobile</solutions> |
| <level>INTERMEDIATE</level> |
| <!-- Dimensions: 512x512, PNG fomrat --> |
| <icon>screenshots/icon-web.png</icon> |
| <!-- Path to screenshots. Use <img> tags for each. --> |
| <screenshots> |
| <img>screenshots/main.png</img> |
| </screenshots> |
| <api_refs> |
| <android>android.content.Intent</android> |
| <android>android.app.ActivityOptions</android> |
| </api_refs> |
| <description> |
| <![CDATA[ |
| This sample demonstrates the use of the multi-window API available |
| in Android N. It shows the use of new Intent flags and |
| AndroidManifest properties to define the multi-window behavior. |
| Switch the sample app into multi-window mode to see how it affects |
| the lifecycle and behavior of the app. |
| ]]> |
| </description> |
| |
| <intro> |
| <![CDATA[ |
| Android N introduces new APIs to support multiple activities |
| to be displayed at the same time. |
| |
| Activities that are started within the same task stack |
| inherit their multiwindow properties from the activity that fired |
| off the intent. The following features are available when an activity |
| has been launched into a new task stack. |
| |
| An activity can be set as not resizable through the |
| `android:resizableActivity` property in the AndroidManifest. All |
| applications targeting Android N or above are resizable by default. |
| |
| In split-screen mode, an activity can be started adjacent to the |
| launching activity by setting the |
| `Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT` flag in its intent. |
| |
| Sometimes activities may choose to handle configuration changes |
| themselves (for example for games or OpenGL-based applications). In this |
| case, setting |
| `android:configChanges=screenSize|smallestScreenSize|screenLayout|orientation` |
| in the AndroidManifest definition of the activity enables callbacks for |
| all configuration changes that may occur during multi-window use for the |
| Activity. See [Handling Runtime Changes][1]. |
| |
| In freeform mode (where applications can be freely resized), activities |
| can be started within a certain area of the screen using the |
| `ActivityOptions#setLaunchBounds` call. |
| |
| Alternatively, the preferred and minimum sizes can be set in a new |
| `layout` property in the AndroidManifest. |
| |
| |
| [1]: https://developer.android.com/guide/topics/resources/runtime-changes.html |
| ]]> |
| </intro> |
| </metadata> |
| </sample> |