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; 20faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.View; 21faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.ViewGroup; 22d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.Scene; 23d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.Transition; 24d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.TransitionSet; 25faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.widget.Button; 26d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.Fade; 27d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.ChangeBounds; 28d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.TransitionManager; 29faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 30faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 31faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haasepublic class SequenceTest extends Activity { 32faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 33faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase Button mRemovingButton, mInvisibleButton, mGoneButton; 34faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase Scene mScene1, mScene2; 35faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase ViewGroup mSceneRoot; 36d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase TransitionSet sequencedFade, reverseSequencedFade; 37d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase Scene mCurrentScene; 38faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 39faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase @Override 40faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase public void onCreate(Bundle savedInstanceState) { 41faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase super.onCreate(savedInstanceState); 42faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase setContentView(R.layout.fading_test); 43faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 4451efddbd3bb304de2dd47fa8cd1114ac555958bbAlan Viverette View container = findViewById(R.id.container); 45faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mSceneRoot = (ViewGroup) container.getParent(); 46faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 4751efddbd3bb304de2dd47fa8cd1114ac555958bbAlan Viverette mRemovingButton = findViewById(R.id.removingButton); 4851efddbd3bb304de2dd47fa8cd1114ac555958bbAlan Viverette mInvisibleButton = findViewById(R.id.invisibleButton); 4951efddbd3bb304de2dd47fa8cd1114ac555958bbAlan Viverette mGoneButton = findViewById(R.id.goneButton); 50faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 51d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mScene1 = Scene.getSceneForLayout(mSceneRoot, R.layout.fading_test, this); 52d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mScene2 = Scene.getSceneForLayout(mSceneRoot, R.layout.fading_test_scene_2, this); 53faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 54ff58f92a0a77ad849ba714b5adac96790eca0048Chet Haase Transition fade1 = new Fade().addTarget(R.id.removingButton); 55ff58f92a0a77ad849ba714b5adac96790eca0048Chet Haase Transition fade2 = new Fade().addTarget(R.id.invisibleButton); 56ff58f92a0a77ad849ba714b5adac96790eca0048Chet Haase Transition fade3 = new Fade().addTarget(R.id.goneButton); 57d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase TransitionSet fader = new TransitionSet(). 58d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase setOrdering(TransitionSet.ORDERING_SEQUENTIAL); 59d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase fader.addTransition(fade1).addTransition(fade2).addTransition(fade3). 60d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase addTransition(new ChangeBounds()); 61faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase sequencedFade = fader; 62faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 63d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase reverseSequencedFade = new TransitionSet(). 64d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase setOrdering(TransitionSet.ORDERING_SEQUENTIAL); 65d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase reverseSequencedFade.addTransition(new ChangeBounds()).addTransition(fade3).addTransition(fade2). 66d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase addTransition(fade1); 67faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 68d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mCurrentScene = mScene1; 69faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 70faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 71faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase public void sendMessage(View view) { 72d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase if (mCurrentScene == mScene1) { 73faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase TransitionManager.go(mScene2, sequencedFade); 74d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mCurrentScene = mScene2; 75faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } else { 76faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase TransitionManager.go(mScene1, reverseSequencedFade); 77d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mCurrentScene = mScene1; 78faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 79faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 80faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase} 81