android.view.Window.setSharedElementReturnTransition()方法的使用及代码示例

x33g5p2x  于2022-02-02 转载在 其他  
字(10.8k)|赞(0)|评价(0)|浏览(105)

本文整理了Java中android.view.Window.setSharedElementReturnTransition()方法的一些代码示例,展示了Window.setSharedElementReturnTransition()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Window.setSharedElementReturnTransition()方法的具体详情如下:
包路径:android.view.Window
类名称:Window
方法名:setSharedElementReturnTransition

Window.setSharedElementReturnTransition介绍

暂无

代码示例

代码示例来源:origin: nickbutcher/plaid

/**
 * Configure {@link MorphTransform}s & set as {@code activity}'s shared element enter and return
 * transitions.
 */
public static void setup(@NonNull Activity activity,
             @Nullable View target,
             @ColorInt int endColor,
             int endCornerRadius) {
  final Intent intent = activity.getIntent();
  if (intent == null
      || !intent.hasExtra(EXTRA_SHARED_ELEMENT_START_COLOR)
      || !intent.hasExtra(EXTRA_SHARED_ELEMENT_START_CORNER_RADIUS)) return;
  final int startColor = activity.getIntent().
      getIntExtra(EXTRA_SHARED_ELEMENT_START_COLOR, Color.TRANSPARENT);
  final int startCornerRadius =
      intent.getIntExtra(EXTRA_SHARED_ELEMENT_START_CORNER_RADIUS, 0);
  final MorphTransform sharedEnter =
      new MorphTransform(startColor, endColor, startCornerRadius, endCornerRadius);
  // Reverse the start/end params for the return transition
  final MorphTransform sharedReturn =
      new MorphTransform(endColor, startColor, endCornerRadius, startCornerRadius);
  if (target != null) {
    sharedEnter.addTarget(target);
    sharedReturn.addTarget(target);
  }
  activity.getWindow().setSharedElementEnterTransition(sharedEnter);
  activity.getWindow().setSharedElementReturnTransition(sharedReturn);
}

代码示例来源:origin: hitherejoe/animate

public void setupSharedElementTransitionsFab(@NonNull Activity activity,
                       @Nullable View target,
                       int dialogCornerRadius) {
  ArcMotion arcMotion = new ArcMotion();
  arcMotion.setMinimumHorizontalAngle(50f);
  arcMotion.setMinimumVerticalAngle(50f);
  int color = ContextCompat.getColor(activity, R.color.accent);
  Interpolator easeInOut =
      AnimationUtils.loadInterpolator(activity, android.R.interpolator.fast_out_slow_in);
  MorphFabToDialog sharedEnter = new MorphFabToDialog(color, dialogCornerRadius);
  sharedEnter.setPathMotion(arcMotion);
  sharedEnter.setInterpolator(easeInOut);
  MorphDialogToFab sharedReturn = new MorphDialogToFab(color);
  sharedReturn.setPathMotion(arcMotion);
  sharedReturn.setInterpolator(easeInOut);
  if (target != null) {
    sharedEnter.addTarget(target);
    sharedReturn.addTarget(target);
  }
  activity.getWindow().setSharedElementEnterTransition(sharedEnter);
  activity.getWindow().setSharedElementReturnTransition(sharedReturn);
}

代码示例来源:origin: hitherejoe/animate

public void setupSharedElementTransitionsButton(@NonNull Activity activity,
                        @Nullable View target) {
  ArcMotion arcMotion = new ArcMotion();
  arcMotion.setMinimumHorizontalAngle(50f);
  arcMotion.setMinimumVerticalAngle(50f);
  int color = ContextCompat.getColor(activity, R.color.accent);
  Interpolator easeInOut =
      AnimationUtils.loadInterpolator(activity, android.R.interpolator.fast_out_slow_in);
  MorphButtonToDialog sharedEnter = new MorphButtonToDialog(color);
  sharedEnter.setPathMotion(arcMotion);
  sharedEnter.setInterpolator(easeInOut);
  MorphDialogToButton sharedReturn = new MorphDialogToButton(color);
  sharedReturn.setPathMotion(arcMotion);
  sharedReturn.setInterpolator(easeInOut);
  if (target != null) {
    sharedEnter.addTarget(target);
    sharedReturn.addTarget(target);
  }
  activity.getWindow().setSharedElementEnterTransition(sharedEnter);
  activity.getWindow().setSharedElementReturnTransition(sharedReturn);
}

代码示例来源:origin: mohak1712/UberUX

private void setupWindowAnimations() {
  ChangeBounds enterTransition = new ChangeBounds();
  enterTransition.setDuration(1000);
  enterTransition.setInterpolator(new DecelerateInterpolator(4));
  enterTransition.addListener(enterTransitionListener);
  getWindow().setSharedElementEnterTransition(enterTransition);
  ChangeBounds returnTransition = new ChangeBounds();
  returnTransition.setDuration(1000);
  returnTransition.addListener(returnTransitionListener);
  getWindow().setSharedElementReturnTransition(returnTransition);
  Slide exitSlide = new Slide(LEFT);
  exitSlide.setDuration(700);
  exitSlide.addListener(exitTransitionListener);
  exitSlide.addTarget(R.id.llphone);
  exitSlide.setInterpolator(new DecelerateInterpolator());
  getWindow().setExitTransition(exitSlide);
  Slide reenterSlide = new Slide(LEFT);
  reenterSlide.setDuration(700);
  reenterSlide.addListener(reenterTransitionListener);
  reenterSlide.setInterpolator(new DecelerateInterpolator(2));
  reenterSlide.addTarget(R.id.llphone);
  getWindow().setReenterTransition(reenterSlide);
}

代码示例来源:origin: nshmura/SnappyImageViewer

@Override
  public void onClosed() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
      getWindow().setSharedElementReturnTransition(new Fade(Fade.IN));
    }
    ActivityCompat.finishAfterTransition(ImageViewerActivity.this);
  }
});

代码示例来源:origin: com.albedinsky.android/ui

/**
 * Attaches all transitions for shared elements specified for this navigational transition to
 * the given <var>window</var>.
 * <p>
 * This will attach only transitions of which particular flags are contained within {@link #mTransitions}
 * flags.
 *
 * @param window The window to which should be transitions attached.
 */
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void attachSharedElementTransitions(Window window) {
  if ((mTransitions & TRANSITION_SHARED_ELEMENT_ENTER) != 0)
    window.setSharedElementEnterTransition(mSharedElementEnterTransition);
  if ((mTransitions & TRANSITION_SHARED_ELEMENT_REENTER) != 0)
    window.setSharedElementReenterTransition(mSharedElementReenterTransition);
  if ((mTransitions & TRANSITION_SHARED_ELEMENT_RETURN) != 0)
    window.setSharedElementReturnTransition(mSharedElementReturnTransition);
  if ((mTransitions & TRANSITION_SHARED_ELEMENT_EXIT) != 0)
    window.setSharedElementExitTransition(mSharedElementExitTransition);
}

代码示例来源:origin: com.albedinsky.android/ui-transition

/**
 * Attaches all transitions for shared elements specified for this navigational transition to
 * the given <var>window</var>.
 * <p>
 * This will attach only transitions of which particular flags are contained within {@link #mTransitions}
 * flags.
 *
 * @param window The window to which should be transitions attached.
 */
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void attachSharedElementTransitions(Window window) {
  if ((mTransitions & TRANSITION_SHARED_ELEMENT_ENTER) != 0)
    window.setSharedElementEnterTransition(mSharedElementEnterTransition);
  if ((mTransitions & TRANSITION_SHARED_ELEMENT_REENTER) != 0)
    window.setSharedElementReenterTransition(mSharedElementReenterTransition);
  if ((mTransitions & TRANSITION_SHARED_ELEMENT_RETURN) != 0)
    window.setSharedElementReturnTransition(mSharedElementReturnTransition);
  if ((mTransitions & TRANSITION_SHARED_ELEMENT_EXIT) != 0)
    window.setSharedElementExitTransition(mSharedElementExitTransition);
}

代码示例来源:origin: contentful/gallery-app-android

@Override public void onBackPressed() {
 if (Const.HAS_L) {
  if (isShowingInitialImage()) {
   createAlphaAnimator(star, false).withEndAction(new Runnable() {
    @Override public void run() {
     GalleryActivity.super.onBackPressed();
    }
   }).start();
  } else {
   getWindow().setSharedElementReturnTransition(null);
   finish();
  }
  return;
 }
 super.onBackPressed();
}

代码示例来源:origin: shalskar/PeekAndPopDemo

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_example);
  if(Build.VERSION.SDK_INT >= 21) {
    getWindow().setSharedElementEnterTransition(enterTransition());
    getWindow().setSharedElementExitTransition(null);
    getWindow().setSharedElementReturnTransition(null);
    getWindow().setExitTransition(null);
    getWindow().setReturnTransition(null);
  }
  imageUrl = getIntent().getExtras().getString(Constants.IMAGE_URL);
  loadImage();
}

代码示例来源:origin: adgvcxz/Dribbble-MVVM

private void initTranslation(ActivityShotsDetailBinding binding) {
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    ViewCompat.setAlpha(binding.toolbar, 0f);
    getWindow().setSharedElementEnterTransition(DraweeTransition.createTransitionSet(ScalingUtils.ScaleType.CENTER_CROP, ScalingUtils.ScaleType.CENTER_CROP));
    getWindow().setSharedElementReturnTransition(DraweeTransition.createTransitionSet(ScalingUtils.ScaleType.CENTER_CROP, ScalingUtils.ScaleType.CENTER_CROP));
    ViewCompat.setTransitionName(binding.imageView, Util.ShotImage);
  }
}

代码示例来源:origin: plusCubed/anticipate

activity.getWindow().setSharedElementReturnTransition(set2);

代码示例来源:origin: youlookwhat/ScrollShapeUI

/**
 * 设置自定义 Shared Element切换动画
 */
private void setMotion() {
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    //定义ArcMotion
    ArcMotion arcMotion = new ArcMotion();
    arcMotion.setMinimumHorizontalAngle(50f);
    arcMotion.setMinimumVerticalAngle(50f);
    //插值器,控制速度
    Interpolator interpolator = AnimationUtils.loadInterpolator(this, android.R.interpolator.fast_out_slow_in);
    //实例化自定义的ChangeBounds
    CustomChangeBounds changeBounds = new CustomChangeBounds();
    changeBounds.setPathMotion(arcMotion);
    changeBounds.setInterpolator(interpolator);
    changeBounds.addTarget(binding.include.ivOnePhoto);
    //将切换动画应用到当前的Activity的进入和返回
    getWindow().setSharedElementEnterTransition(changeBounds);
    getWindow().setSharedElementReturnTransition(changeBounds);
  }
}

代码示例来源:origin: AdityaAnand1/Morphing-Material-Dialogs

public void setupSharedEelementTransitions() {
  if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)
    return; //Show dialog normally if below Lollipop
  ArcMotion arcMotion = new ArcMotion();
  arcMotion.setMinimumHorizontalAngle(50f);
  arcMotion.setMinimumVerticalAngle(50f);
  Interpolator easeInOut = AnimationUtils.loadInterpolator(this, android.R.interpolator.fast_out_slow_in);
  MorphFabToDialog sharedEnter = new MorphFabToDialog(getBackgroundColor());
  sharedEnter.setPathMotion(arcMotion);
  sharedEnter.setInterpolator(easeInOut);
  MorphDialogToFab sharedReturn = new MorphDialogToFab(getBackgroundColor());
  sharedReturn.setPathMotion(arcMotion);
  sharedReturn.setInterpolator(easeInOut);
  if (ui.container != null) {
    sharedEnter.addTarget(ui.container);
    sharedReturn.addTarget(ui.container);
  }
  getWindow().setSharedElementEnterTransition(sharedEnter);
  getWindow().setSharedElementReturnTransition(sharedReturn);
}

代码示例来源:origin: lianghuiyong/AndroidBase

getWindow().setSharedElementEnterTransition(new ChangeBounds());
  getWindow().setSharedElementReenterTransition(new ChangeBounds());
  getWindow().setSharedElementReturnTransition(new ChangeBounds());
  getWindow().setSharedElementEnterTransition(new ChangeClipBounds());
  getWindow().setSharedElementReenterTransition(new ChangeClipBounds());
  getWindow().setSharedElementReturnTransition(new ChangeClipBounds());
  getWindow().setSharedElementEnterTransition(new ChangeTransform());
  getWindow().setSharedElementReenterTransition(new ChangeTransform());
  getWindow().setSharedElementReturnTransition(new ChangeTransform());
  break;
case ANIM_CHANGEIMAGETRANSFORM:
  getWindow().setSharedElementEnterTransition(new ChangeImageTransform());
  getWindow().setSharedElementReenterTransition(new ChangeImageTransform());
  getWindow().setSharedElementReturnTransition(new ChangeImageTransform());
  break;

代码示例来源:origin: materialos/android-icon-pack

getWindow().setSharedElementReturnTransition(transition);
getWindow().setSharedElementsUseOverlay(false);

代码示例来源:origin: materialos/android-icon-pack

getWindow().setSharedElementReturnTransition(returnBounds);

相关文章

微信公众号

最新文章

更多

Window类方法