From 655caeddbaffee5b6ae8dbbd97454489e08bcf51 Mon Sep 17 00:00:00 2001 From: afohrman Date: Thu, 14 Jan 2021 14:43:49 -0500 Subject: [PATCH] [Motion] Added theming to MaterialFadeThrough transition. PiperOrigin-RevId: 351843861 --- .../transition/MaterialFadeThrough.java | 23 +++++++++++++++++++ .../platform/MaterialFadeThrough.java | 23 +++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/lib/java/com/google/android/material/transition/MaterialFadeThrough.java b/lib/java/com/google/android/material/transition/MaterialFadeThrough.java index eb6967832..7debe3ad8 100644 --- a/lib/java/com/google/android/material/transition/MaterialFadeThrough.java +++ b/lib/java/com/google/android/material/transition/MaterialFadeThrough.java @@ -16,14 +16,25 @@ package com.google.android.material.transition; +import com.google.android.material.R; + +import androidx.annotation.AttrRes; + /** * A {@link androidx.transition.Visibility} transition that, by default, provides a fade in and * scale out when appearing and a fade out and scale out when disappearing. + * + *

MaterialFadeThrough supports theme-based easing and duration. The transition will load theme + * values from the {@code SceneRoot}'s context before it runs, and only use them if the + * corresponding properties weren't already set on the transition instance. */ public final class MaterialFadeThrough extends MaterialVisibility { private static final float DEFAULT_START_SCALE = 0.92f; + @AttrRes private static final int DEFAULT_THEMED_DURATION_ATTR = R.attr.motionDurationLong1; + @AttrRes private static final int DEFAULT_THEMED_EASING_ATTR = R.attr.motionEasingStandard; + public MaterialFadeThrough() { super(createPrimaryAnimatorProvider(), createSecondaryAnimatorProvider()); } @@ -38,4 +49,16 @@ public final class MaterialFadeThrough extends MaterialVisibilityMaterialFadeThrough supports theme-based easing and duration. The transition will load theme + * values from the {@code SceneRoot}'s context before it runs, and only use them if the + * corresponding properties weren't already set on the transition instance. */ @androidx.annotation.RequiresApi(android.os.Build.VERSION_CODES.LOLLIPOP) public final class MaterialFadeThrough extends MaterialVisibility { private static final float DEFAULT_START_SCALE = 0.92f; + @AttrRes private static final int DEFAULT_THEMED_DURATION_ATTR = R.attr.motionDurationLong1; + @AttrRes private static final int DEFAULT_THEMED_EASING_ATTR = R.attr.motionEasingStandard; + public MaterialFadeThrough() { super(createPrimaryAnimatorProvider(), createSecondaryAnimatorProvider()); } @@ -43,4 +54,16 @@ public final class MaterialFadeThrough extends MaterialVisibility