| <?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>CustomTransition</name> |
| <group>UI</group> |
| <package>com.example.android.customtransition</package> |
| |
| <!-- change minSdk if needed--> |
| <minSdk>19</minSdk> |
| |
| |
| <strings> |
| <intro> |
| <![CDATA[ |
| This sample demonstrates how to create and use a custom Transition. |
| ]]> |
| </intro> |
| </strings> |
| |
| <template src="base"/> |
| <template src="FragmentView"/> |
| <common src="logger"/> |
| <common src="activities"/> |
| |
| <metadata> |
| <status>PUBLISHED</status> |
| <categories>Transition, UI</categories> |
| <technologies>Android</technologies> |
| <languages>Java</languages> |
| <solutions>Mobile</solutions> |
| <level>ADVANCED</level> |
| <icon>screenshots/icon-web.png</icon> |
| <screenshots> |
| <img>screenshots/main.png</img> |
| </screenshots> |
| <api_refs> |
| <android>android.transition.TransitionManager</android> |
| <android>android.transition.Transition</android> |
| <android>android.transition.Scene</android> |
| </api_refs> |
| |
| <description> |
| <![CDATA[ |
| This sample shows how to implement a custom Transition extending the |
| standard Transition class. |
| ]]> |
| </description> |
| |
| <intro> |
| <![CDATA[ |
| In order to create a custom Transition, you first need to override |
| [captureStartValues][1] and [captureEndValues][2]. In those method, you have to |
| extract all the relevant properties from a View. These methods are called for |
| each of the Views in the hierarchy. |
| |
| Then, you need to override [createAnimator][3] and create an Animator based on |
| the property values you extracted. This method will also be called for each of |
| the Views in the hierarchy. If you want to skip some Views, simply return null. |
| |
| The instantiated custom Transition can be applied by passing it as the second |
| parameter of [TransitionManager.go][4]. |
| |
| ```java |
| TransitionManager.go(mScenes[mCurrentScene], mTransition); |
| ``` |
| |
| [1]: https://developer.android.com/reference/android/transition/Transition.html#captureStartValues(android.transition.TransitionValues) |
| [2]: https://developer.android.com/reference/android/transition/Transition.html#captureEndValues(android.transition.TransitionValues) |
| [3]: https://developer.android.com/reference/android/transition/Transition.html#createAnimator(android.view.ViewGroup, android.transition.TransitionValues, android.transition.TransitionValues) |
| [4]: https://developer.android.com/reference/android/transition/TransitionManager.html#go(android.transition.Scene, android.transition.Transition) |
| ]]> |
| </intro> |
| </metadata> |
| |
| </sample> |