Demo4.java revision faebd8f0795b7d275fb4e503533c8c0c4a9acc21
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; 22faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.transition.Fade; 23faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.transition.Move; 24faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.transition.Recolor; 25faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.transition.Scene; 26faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.transition.TransitionGroup; 27faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.view.transition.TransitionManager; 28faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport com.android.transitiontest.R; 29faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 30faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 31faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haasepublic class Demo4 extends Activity { 32faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase ViewGroup mSceneRoot; 33faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase static Scene mCurrentScene; 34faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase Scene mSearchScreen, mResultsScreen; 35faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase TransitionManager mTransitionManager = null; 36faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 37faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase @Override 38faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase public void onCreate(Bundle savedInstanceState) { 39faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase super.onCreate(savedInstanceState); 40faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase setContentView(R.layout.search_screen); 41faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 42faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase View container = (View) findViewById(R.id.container); 43faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mSceneRoot = (ViewGroup) container.getParent(); 44faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 45faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mSearchScreen = new Scene(mSceneRoot, R.layout.search_screen, this); 46faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mResultsScreen = new Scene(mSceneRoot, R.layout.results_screen, this); 47faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 48faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase TransitionGroup transitionToResults = new TransitionGroup(); 49faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase Fade fade = new Fade(); 50faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase fade.setTargetIds(R.id.resultsText, R.id.resultsList); 51faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase fade.setStartDelay(300); 52faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase fade.setDuration(1000); 53faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase transitionToResults.addTransitions(fade, new Move().setTargetIds(R.id.searchContainer), 54faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase new Recolor().setTargetIds(R.id.container)); 55faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 56faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase TransitionGroup transitionToSearch = new TransitionGroup(); 57faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase transitionToSearch.addTransitions(fade, new Move().setTargetIds(R.id.searchContainer), 58faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase new Recolor().setTargetIds(R.id.container)); 59faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 60faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager = new TransitionManager(); 61faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager.setTransition(mSearchScreen, transitionToSearch); 62faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager.setTransition(mResultsScreen, transitionToResults); 63faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 64faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 65faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase public void sendMessage(View view) { 66faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase if (mCurrentScene == mResultsScreen) { 67faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager.transitionTo(mSearchScreen); 68faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mCurrentScene = mSearchScreen; 69faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } else { 70faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mTransitionManager.transitionTo(mResultsScreen); 71faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mCurrentScene = mResultsScreen; 72faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 73faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 74faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase} 75