package com.wakehao.transitionexample.scene; import android.os.Bundle; import android.support.annotation.DimenRes; import android.support.annotation.IdRes; import android.support.annotation.LayoutRes; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.transition.ChangeBounds; import android.transition.Scene; import android.transition.Transition; import android.transition.TransitionManager; import android.view.View; import android.view.ViewGroup; import com.wakehao.transitionexample.R; /** * Created by WakeHao on 2017/2/14. */ public abstract class BaseSceneActivity extends AppCompatActivity { protected Scene scene1; protected Scene scene2; protected boolean isScene2; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); } abstract Transition getTransition(); protected void switchScene(Transition transition){ TransitionManager.go(isScene2?scene1:scene2,transition); isScene2=!isScene2; } @Override public boolean onSupportNavigateUp() { onBackPressed(); return true; } protected void initToolbar() { Toolbar toolbar= (Toolbar) findViewById(R.id.toolBar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(false); } 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); } public void change(View view){ switchScene(getTransition()); } }