1d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki/*
2d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * Copyright (C) 2016 The Android Open Source Project
3d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki *
4d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * Licensed under the Apache License, Version 2.0 (the "License");
5d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * you may not use this file except in compliance with the License.
6d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * You may obtain a copy of the License at
7d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki *
8d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki *      http://www.apache.org/licenses/LICENSE-2.0
9d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki *
10d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * Unless required by applicable law or agreed to in writing, software
11d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * distributed under the License is distributed on an "AS IS" BASIS,
12d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * See the License for the specific language governing permissions and
14d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * limitations under the License.
15d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki */
16d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki
17d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Arakipackage com.example.android.support.transition.widget;
18d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki
19d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Arakiimport android.os.Bundle;
20def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport android.view.ViewGroup;
21def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas
22ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.transition.Scene;
23ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.transition.Transition;
24ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikasimport androidx.transition.TransitionManager;
25def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikas
26def582a5836579a3fadabfdbe4413cb1652bf098Aurimas Liutikasimport com.example.android.support.transition.R;
27d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki
28d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki/**
29d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * This demonstrates usage of a custom Transition. See {@link ChangeColor} for the actual
30d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki * implementation of a custom Transition.
31d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki */
328934dca5ba4e6a365f8c0ab9c434b71c9f495294Yuichi Arakipublic class CustomUsage extends SceneUsageBase {
33d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki
34d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    private Transition mTransition;
35d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki
36d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    @Override
37d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    protected void onCreate(Bundle savedInstanceState) {
38d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki        super.onCreate(savedInstanceState);
39d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki        mTransition = new ChangeColor();
40d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    }
41d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki
42d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    @Override
43d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    Scene[] setUpScenes(ViewGroup root) {
44d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki        return new Scene[]{
45d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki                Scene.getSceneForLayout(root, R.layout.custom0, this),
46d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki                Scene.getSceneForLayout(root, R.layout.custom1, this),
47d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki                Scene.getSceneForLayout(root, R.layout.custom2, this),
48d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki        };
49d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    }
50d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki
51d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    @Override
52d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    void go(Scene scene) {
53d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki        TransitionManager.go(scene, mTransition);
54d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki    }
55d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki
56d5b720e30a9d82b5f81ec8eac2803e213f2f1c41Yuichi Araki}
57