TransitionManager.go(toScene, transition);
protected void switchScene(Transition transition){ TransitionManager.go(isScene2?scene1:scene2,transition); isScene2=!isScene2; } @Override
@TargetApi(Build.VERSION_CODES.LOLLIPOP) @OnClick(R.id.scenesMethod) public void onClick() { if (nowScenesMethod == scene1) nowScenesMethod = scene2; else if (nowScenesMethod == scene2) nowScenesMethod = scene1; //注意 invisbility 和Gone不一样 动画 TransitionManager.go(nowScenesMethod, nowTransition); // TransitionManager.go(nowScenesMethod); }
public static Scene hideScene(Activity activity, final ViewGroup container, final View sharedView, final String transitionName) { DetailsLayout detailsLayout = (DetailsLayout) container.findViewById(R.id.bali_details_container); TransitionSet set = new HideDetailsTransitionSet(activity, transitionName, sharedView, detailsLayout); Scene scene = new Scene(container, (View) detailsLayout); TransitionManager.go(scene, set); return scene; } }
protected void initScene(@IdRes int rootView, @LayoutRes int scene1_layout,@LayoutRes int scene2_layout) { ViewGroup sceneRoot= (ViewGroup) findViewById(rootView); scene1= Scene.getSceneForLayout(sceneRoot,scene1_layout,this); scene2=Scene.getSceneForLayout(sceneRoot,scene2_layout,this); TransitionManager.go(scene1); }
@Override public void onClick(View v) { switch (v.getId()) { case R.id.sample3_button1: TransitionManager.go(scene1, new ChangeBounds()); break; case R.id.sample3_button2: TransitionManager.go(scene2, TransitionInflater.from(this).inflateTransition(R.transition.slide_and_changebounds)); break; case R.id.sample3_button3: TransitionManager.go(scene3,TransitionInflater.from(this).inflateTransition(R.transition.slide_and_changebounds_sequential)); break; case R.id.sample3_button4: TransitionManager.go(scene3,TransitionInflater.from(this).inflateTransition(R.transition.slide_and_changebounds_sequential_with_interpolators)); break; } }
public static Scene showScene(Activity activity, final ViewGroup container, final View sharedView, final String transitionName, final Place data) { DetailsLayout detailsLayout = (DetailsLayout) activity.getLayoutInflater().inflate(R.layout.item_place, container, false); detailsLayout.setData(data); TransitionSet set = new ShowDetailsTransitionSet(activity, transitionName, sharedView, detailsLayout); Scene scene = new Scene(container, (View) detailsLayout); TransitionManager.go(scene, set); return scene; }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scene_change_clip_bounds); initToolbar(); ViewGroup sceneRoot= (ViewGroup) findViewById(R.id.scene_root); View inflate = LayoutInflater.from(this).inflate(R.layout.scene_1_changeclipbounds, null); View inflate2 = LayoutInflater.from(this).inflate(R.layout.scene_2_changeclipbounds, null); ImageView imageView= (ImageView) inflate.findViewById(R.id.cutegirl); ImageView imageView2= (ImageView) inflate2.findViewById(R.id.cutegirl); imageView.setClipBounds(new Rect(0,0,200,200)); imageView2.setClipBounds(new Rect(200,200,400,400)); scene1=new Scene(sceneRoot,inflate); scene2=new Scene(sceneRoot,inflate2); TransitionManager.go(scene1); }
@TargetApi(Build.VERSION_CODES.LOLLIPOP) private void scenesMethod() { root = (ViewGroup) findViewById(R.id.root); //这个无限次数都好使... 这种加载方式支持Gone 也支持invisiblity 但是不支持 生成场景之前 移动某个view的属性 // sceneByXml_FirstType(); //这个是已经加载的View 不支持 Gone的操作 仅仅支持invisibility的操作; 支持 生成场景之前支持移动某个View的属性; // sceneByNowLayout_SecondType(); //这个支持Gone不过仅仅支持两次就失效了 但是支持 invisibility 支持 生成场景之前支持移动某个View的属性; sceneByMyselfInflateXml_ThreeType(); //为啥这里用这个 因为我不加这个 第一次的场景他不是 scene1 导致第一次动画有点问题 加上就好了; //但是自定义那个xml Transition 则可不用加这个...!!! TransitionManager.go(scene1, new ChangeBounds()); scene2 = Scene.getSceneForLayout(root, R.layout.item2, this); nowScenesMethod = scene1; }
anim.start(); TransitionManager.go(mSceneLogging, new ChangeBounds().setDuration(mDuration).setInterpolator(new DecelerateInterpolator()));
@Override public void onClick(View view) { if (view.getId() == R.id.button_item_1) { Scene scene = Scene.getSceneForLayout(mContainerLayout, R.layout.activity_ta_child_logo, this); scene.setEnterAction(new Runnable() { @Override public void run() { Toast.makeText(TaActivity.this, "Enter action", Toast.LENGTH_SHORT).show(); } }); scene.setExitAction(new Runnable() { @Override public void run() { Toast.makeText(TaActivity.this, "Exit action", Toast.LENGTH_SHORT).show(); } }); Transition transition = TransitionInflater.from(this).inflateTransition(R.transition.ta); TransitionManager.go(scene, transition); } else if (view.getId() == R.id.button_item_2) { Scene scene = Scene.getSceneForLayout(mContainerLayout, R.layout.activity_ta_child_rb, this); Transition transition = TransitionInflater.from(this).inflateTransition(R.transition.ta); TransitionManager.go(scene, transition); } } }
TransitionManager.go(mSceneSignUp);
TransitionManager.go(scene, mainTransition); } else { container.removeAllViews();