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 */ 166ebe3de331efd00ba23bc4191d4a82cfa4c39160Chet Haase 17d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haasepackage android.transition; 18faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 19ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mountimport android.content.Context; 20ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mountimport android.util.AttributeSet; 21ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount 22faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase/** 23faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * Utility class for creating a default transition that automatically fades, 24faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * moves, and resizes views during a scene change. 25d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase * 26d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase * <p>An AutoTransition can be described in a resource file by using the 27d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase * tag <code>autoTransition</code>, along with the other standard 28d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase * attributes of {@link android.R.styleable#Transition}.</p> 29faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase */ 30d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haasepublic class AutoTransition extends TransitionSet { 31faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase 32faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase /** 33d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase * Constructs an AutoTransition object, which is a TransitionSet which 34faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * first fades out disappearing targets, then moves and resizes existing 35faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * targets, and finally fades in appearing targets. 36faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase * 37faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase */ 38faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase public AutoTransition() { 39ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount init(); 40ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount } 41ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount 42ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount public AutoTransition(Context context, AttributeSet attrs) { 43ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount super(context, attrs); 44ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount init(); 45ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount } 46ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount 47ecd857be3946283ebb4306e2c03ae70f5c5bb152George Mount private void init() { 48d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase setOrdering(ORDERING_SEQUENTIAL); 49d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase addTransition(new Fade(Fade.OUT)). 50d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase addTransition(new ChangeBounds()). 51d82c8ac4db7091d2e976af4c89a1734465d20cd2Chet Haase addTransition(new Fade(Fade.IN)); 52faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase } 53faebd8f0795b7d275fb4e503533c8c0c4a9acc21Chet Haase} 54