diff --git a/samples/ApiDemos/AndroidManifest.xml b/samples/ApiDemos/AndroidManifest.xml index 608220a53..365b0777d 100644 --- a/samples/ApiDemos/AndroidManifest.xml +++ b/samples/ApiDemos/AndroidManifest.xml @@ -1358,8 +1358,17 @@ + android:label="Animation/Default Layout Animations" + android:enabled="@bool/atLeastHoneycomb"> + + + + + + + diff --git a/samples/ApiDemos/res/layout/transition.xml b/samples/ApiDemos/res/layout/transition.xml new file mode 100644 index 000000000..57b91beee --- /dev/null +++ b/samples/ApiDemos/res/layout/transition.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/ApiDemos/res/layout/transition_scene1.xml b/samples/ApiDemos/res/layout/transition_scene1.xml new file mode 100644 index 000000000..a98da60b9 --- /dev/null +++ b/samples/ApiDemos/res/layout/transition_scene1.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + diff --git a/samples/ApiDemos/res/layout/transition_scene2.xml b/samples/ApiDemos/res/layout/transition_scene2.xml new file mode 100644 index 000000000..fda227651 --- /dev/null +++ b/samples/ApiDemos/res/layout/transition_scene2.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + diff --git a/samples/ApiDemos/res/layout/transition_scene3.xml b/samples/ApiDemos/res/layout/transition_scene3.xml new file mode 100644 index 000000000..39c4da770 --- /dev/null +++ b/samples/ApiDemos/res/layout/transition_scene3.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/ApiDemos/res/transition/changebounds.xml b/samples/ApiDemos/res/transition/changebounds.xml new file mode 100644 index 000000000..a217003ce --- /dev/null +++ b/samples/ApiDemos/res/transition/changebounds.xml @@ -0,0 +1,18 @@ + + + + + diff --git a/samples/ApiDemos/res/transition/changebounds_fadein_together.xml b/samples/ApiDemos/res/transition/changebounds_fadein_together.xml new file mode 100644 index 000000000..c0bb26f22 --- /dev/null +++ b/samples/ApiDemos/res/transition/changebounds_fadein_together.xml @@ -0,0 +1,23 @@ + + + + + + + + + + diff --git a/samples/ApiDemos/res/transition/changebounds_fadeout_sequential.xml b/samples/ApiDemos/res/transition/changebounds_fadeout_sequential.xml new file mode 100644 index 000000000..df3630631 --- /dev/null +++ b/samples/ApiDemos/res/transition/changebounds_fadeout_sequential.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + diff --git a/samples/ApiDemos/res/transition/transitions_mgr.xml b/samples/ApiDemos/res/transition/transitions_mgr.xml new file mode 100644 index 000000000..bd1190643 --- /dev/null +++ b/samples/ApiDemos/res/transition/transitions_mgr.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + diff --git a/samples/ApiDemos/src/com/example/android/apis/animation/Transitions.java b/samples/ApiDemos/src/com/example/android/apis/animation/Transitions.java new file mode 100644 index 000000000..b2983cdb7 --- /dev/null +++ b/samples/ApiDemos/src/com/example/android/apis/animation/Transitions.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.example.android.apis.animation; + +import android.app.Activity; +import android.os.Bundle; +import android.view.View; +import android.view.ViewGroup; +import android.transition.Scene; +import android.transition.TransitionInflater; +import android.transition.TransitionManager; +import com.example.android.apis.R; + +public class Transitions extends Activity { + + Scene mScene1, mScene2, mScene3; + ViewGroup mSceneRoot; + TransitionManager mTransitionManager; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.transition); + + mSceneRoot = (ViewGroup) findViewById(R.id.sceneRoot); + + TransitionInflater inflater = TransitionInflater.from(this); + + mScene1 = Scene.getSceneForLayout(mSceneRoot, R.layout.transition_scene1, this); + mScene2 = Scene.getSceneForLayout(mSceneRoot, R.layout.transition_scene2, this); + mScene3 = Scene.getSceneForLayout(mSceneRoot, R.layout.transition_scene3, this); + mTransitionManager = inflater.inflateTransitionManager(R.transition.transitions_mgr, + mSceneRoot); + } + + public void selectScene(View view) { + switch (view.getId()) { + case R.id.scene1: + mTransitionManager.transitionTo(mScene1); + break; + case R.id.scene2: + mTransitionManager.transitionTo(mScene2); + break; + case R.id.scene3: + mTransitionManager.transitionTo(mScene3); + break; + case R.id.scene4: + TransitionManager.beginDelayedTransition(mSceneRoot, null); + setNewSize(R.id.view1, 150, 25); + setNewSize(R.id.view2, 150, 25); + setNewSize(R.id.view3, 150, 25); + setNewSize(R.id.view4, 150, 25); + break; + } + } + + private void setNewSize(int id, int width, int height) { + View view = findViewById(id); + ViewGroup.LayoutParams params = view.getLayoutParams(); + params.width = width; + params.height = height; + view.setLayoutParams(params); + } +}