Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 47e36c3c authored by Chet Haase's avatar Chet Haase Committed by Android (Google) Code Review
Browse files

Merge "Fix minor transition bugs"

parents 3b4d6950 dc57d9dd
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -96,12 +96,19 @@ public class Fade extends Visibility {
    protected Animator appear(ViewGroup sceneRoot,
            TransitionValues startValues, int startVisibility,
            TransitionValues endValues, int endVisibility) {
        View endView = (endValues != null) ? endValues.view : null;
        if ((mFadingMode & IN) != IN) {
        if ((mFadingMode & IN) != IN || endValues == null) {
            return null;
        }
        final View endView = endValues.view;
        endView.setAlpha(0);
        return runAnimation(endView, 0, 1, null);
        final Animator.AnimatorListener endListener = new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                // Always end animation with full alpha, in case it's canceled mid-stream
                endView.setAlpha(1);
            }
        };
        return runAnimation(endView, 0, 1, endListener);
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -104,7 +104,7 @@ public class TransitionGroup extends Transition {
                mTransitions.add(transitions[i]);
                transitions[i].mParent = this;
                if (mDuration >= 0) {
                    transitions[0].setDuration(mDuration);
                    transitions[i].setDuration(mDuration);
                }
            }
        }
+7 −0
Original line number Diff line number Diff line
@@ -233,6 +233,13 @@
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:label="CrossfadeImage"
                  android:name=".CrossfadeImage">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

+28 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:id="@+id/container"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/self_portrait_square_100"
            android:onClick="sendMessage"
            android:id="@+id/contact_picture"/>
    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/self_portrait_square_100"
            android:onClick="sendMessage"
            android:id="@+id/contact_picture1"/>
    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/self_portrait_square_100"
            android:onClick="sendMessage"
            android:id="@+id/contact_picture2"/>

</LinearLayout>
 No newline at end of file
+68 −0
Original line number Diff line number Diff line
/*
 * 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.android.transitiontests;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.transition.Crossfade;
import android.view.transition.Move;
import android.view.transition.Scene;
import android.view.transition.Transition;
import android.view.transition.TransitionGroup;
import android.view.transition.TransitionManager;
import android.widget.ImageView;

public class CrossfadeImage extends Activity {
    ViewGroup mSceneRoot;
    static int mCurrentScene;
    Scene mScene1, mScene2;
    TransitionManager mTransitionManager;
    boolean mExpanded = false;
    Transition mTransition;
    ImageView mImageView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.crossfade_image);

        ViewGroup container = (ViewGroup) findViewById(R.id.container);
        mSceneRoot = container;

        mImageView = (ImageView) findViewById(R.id.contact_picture);
        mImageView.setScaleType(ImageView.ScaleType.FIT_CENTER);

        Crossfade mCrossfade = new Crossfade();
        mCrossfade.setTargetIds(R.id.contact_picture);

        TransitionGroup group = new TransitionGroup();
        group.setDuration(1500);
        group.addTransitions(mCrossfade, new Move());
        mTransition = group;
    }

    public void sendMessage(View view) {
        TransitionManager.beginDelayedTransition(mSceneRoot, mTransition);
        if (mExpanded) {
            mImageView.setImageResource(R.drawable.self_portrait_square_100);
        } else {
            mImageView.setImageResource(R.drawable.self_portrait_square_200);
        }
        mExpanded = !mExpanded;
    }
}