1faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase/* 2faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * Copyright (C) 2013 The Android Open Source Project 3faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * 4faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * Licensed under the Apache License, Version 2.0 (the "License"); 5faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * you may not use this file except in compliance with the License. 6faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * You may obtain a copy of the License at 7faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * 8faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * http://www.apache.org/licenses/LICENSE-2.0 9faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * 10faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * Unless required by applicable law or agreed to in writing, software 11faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * distributed under the License is distributed on an "AS IS" BASIS, 12faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * See the License for the specific language governing permissions and 14faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * limitations under the License. 15faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase */ 16faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haasepackage com.android.transitiontests; 17faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 18faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.app.Activity; 19faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.os.Bundle; 20d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.ChangeBounds; 21faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.View; 22faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.ViewGroup; 23d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.Crossfade; 24d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.Scene; 25d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.TransitionSet; 26d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.TransitionManager; 27faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 28faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 29faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haasepublic class CrossFadeDemo extends Activity { 30faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 31faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase ViewGroup mSceneRoot; 32faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase static int mCurrentScene; 33faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase Scene mScene1, mScene2; 34faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase TransitionManager mTransitionManager; 35faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 36faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase @Override 37faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase public void onCreate(Bundle savedInstanceState) { 38faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase super.onCreate(savedInstanceState); 39faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase setContentView(R.layout.crossfade); 40faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 41faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase View container = (View) findViewById(R.id.container); 42faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mSceneRoot = (ViewGroup) container.getParent(); 43faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 44d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mScene1 = Scene.getSceneForLayout(mSceneRoot, R.layout.crossfade, this); 45d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mScene2 = Scene.getSceneForLayout(mSceneRoot, R.layout.crossfade_1, this); 46faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 47faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase Crossfade crossfade = new Crossfade(); 484f0c4672ac7fd6b8135e27d8f816da2ebaf7d63aChet Haase crossfade.setFadeBehavior(Crossfade.FADE_BEHAVIOR_CROSSFADE); 494f0c4672ac7fd6b8135e27d8f816da2ebaf7d63aChet Haase crossfade.setResizeBehavior(Crossfade.RESIZE_BEHAVIOR_NONE); 50ff58f92a0a77ad849ba714b5adac96790eca0048Chet Haase crossfade.addTarget(R.id.textview).addTarget(R.id.textview1). 51ff58f92a0a77ad849ba714b5adac96790eca0048Chet Haase addTarget(R.id.textview2); 52faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager = new TransitionManager(); 53d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase TransitionSet moveCrossFade = new TransitionSet(); 54d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase moveCrossFade.addTransition(crossfade).addTransition(new ChangeBounds()); 55faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager.setTransition(mScene1, moveCrossFade); 56faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager.setTransition(mScene2, moveCrossFade); 57faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mCurrentScene = 1; 58faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 59faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 60faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase public void sendMessage(View view) { 61faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase if (mCurrentScene == 1) { 62faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager.transitionTo(mScene2); 63faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mCurrentScene = 2; 64faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } else { 65faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager.transitionTo(mScene1); 66faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mCurrentScene = 1; 67faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 68faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 69faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase} 70