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.Scene; 24faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haaseimport android.widget.Button; 25d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.Fade; 26b7a7fc9d233bad507ce893882352618b13647058Chet Haaseimport android.transition.ChangeText; 27d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.TransitionSet; 28d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haaseimport android.transition.TransitionManager; 29faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 30faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haasepublic class ClippingText extends Activity { 31faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 32faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase Button mRemovingButton, mInvisibleButton, mGoneButton; 33faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase Scene mScene1, mScene2; 34faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase ViewGroup mSceneRoot; 35faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase // static Fade sFade = new Fade(R.id.removingButton, R.id.invisibleButton, R.id.goneButton); 36faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase Fade fader; 37d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase TransitionSet mChanger; 38d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase Scene mCurrentScene; 39faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 40faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase @Override 41faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase public void onCreate(Bundle savedInstanceState) { 42faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase super.onCreate(savedInstanceState); 43faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase setContentView(R.layout.clipping_text_1); 44faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 45faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase View container = (View) findViewById(R.id.container); 46faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase mSceneRoot = (ViewGroup) container.getParent(); 47faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 48d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mScene1 = Scene.getSceneForLayout(mSceneRoot, R.layout.clipping_text_1, this); 49d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mScene2 = Scene.getSceneForLayout(mSceneRoot, R.layout.clipping_text_2, this); 50faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 51d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mChanger = new TransitionSet().setOrdering(TransitionSet.ORDERING_TOGETHER); 52d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase ChangeBounds changeBounds = new ChangeBounds(); 53d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase changeBounds.setResizeClip(true); 54b7a7fc9d233bad507ce893882352618b13647058Chet Haase mChanger.addTransition(changeBounds).addTransition(new ChangeText()); 55faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 56d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mCurrentScene = mScene1; 57faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 58faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 59faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase public void sendMessage(View view) { 60d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase if (mCurrentScene == mScene1) { 61faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase TransitionManager.go(mScene2, mChanger); 62d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mCurrentScene = mScene2; 63faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } else { 64faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase TransitionManager.go(mScene1, mChanger); 65d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase mCurrentScene = mScene1; 66faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 67faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 68faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase} 69