You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
3.2 KiB
93 lines
3.2 KiB
<?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>
|