# Basictransition01 **Repository Path**: AnimationDemo/basictransition01 ## Basic Information - **Project Name**: Basictransition01 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-05-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README scene:场景,trasition:转换。 # BasicTransition # ``` getSceneForLayout()+TransitionManager.go(scene3)+new Scene()需要API>=19 ``` demo中共有3个scene,分别是scene1、scene2、scene3,对应的xml分别是scene1.xml、scene2.xml、scene3.xml,scene本身的根布局的id都是一样的,这里是`container`; ## scene_root: ## 存放scene的布局 ``` .... ``` ## scene1.xml ## scene本身的根布局的id都是一样的,这里是`container`; ``` ``` ## 创建scene的2种方法 ## 第一种:试了下new Scene()无效果 ``` Scene scene1 = new Scene(scene_root, container) scene_root:存放scene的布局 container:scene本身的根布局 ``` 第二种: ``` Scene scene1 = Scene.getSceneForLayout(scene_root, R.layout.scene1, context); 第一个参数:存放scene的布局 第二个参数:scene 第三个参数:context ``` ## 变换scene ## ``` //第一种: TransitionManager.go(scene1); //第2种: TransitionManager transitionManager = new TransitionManager(); transitionManager.transitionTo(scene3) ``` ## 步骤 ## 1. 创建scene 2. 转换scene 对应的方法分别是: ``` Scene scene1 = Scene.getSceneForLayout(scene_root, R.layout.scene1, context); TransitionManager.go(scene1); ``` ## 自定义TransitionManager ## ``` TransitionInflater transitionInflater = TransitionInflater.from(context); TransitionManager transitionManager = transitionInflater.inflateTransitionManager(R.transition.custom_transition_manager, scene_root); ``` custom_transition_manager.xml是放在value/transition文件夹中 ``` ``` 其中changebounds_fadein_transition.xml也是放在value/transition文件夹中 ``` ``` ## 没有scene怎么实现动画效果 ## ### 代码 ### ``` transitionManager.beginDelayedTransition(scene_root); View view2 = findViewById(R.id.view2); ViewGroup.LayoutParams params = view2.getLayoutParams(); int dimension = (int) getResources().getDimension(R.dimen.dimen50); params.width = dimension; params.height = dimension; view2.requestLayout(); ``` ### 效果图 ### # 其它 # 参考:https://github.com/googlesamples/android-BasicTransition demo:http://git.oschina.net/AnimationDemo/basictransition01