本文整理了Java中android.view.Window.setSharedElementEnterTransition()
方法的一些代码示例,展示了Window.setSharedElementEnterTransition()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Window.setSharedElementEnterTransition()
方法的具体详情如下:
包路径:android.view.Window
类名称:Window
方法名:setSharedElementEnterTransition
暂无
代码示例来源:origin: nickbutcher/plaid
/**
* Create a {@link FabTransform} from the supplied {@code activity} extras and set as its
* shared element enter/return transition.
*/
public static boolean setup(@NonNull Activity activity, @Nullable View target) {
final Intent intent = activity.getIntent();
if (!intent.hasExtra(EXTRA_FAB_COLOR) || !intent.hasExtra(EXTRA_FAB_ICON_RES_ID)) {
return false;
}
final int color = intent.getIntExtra(EXTRA_FAB_COLOR, Color.TRANSPARENT);
final int icon = intent.getIntExtra(EXTRA_FAB_ICON_RES_ID, -1);
final FabTransform sharedEnter = new FabTransform(color, icon);
if (target != null) {
sharedEnter.addTarget(target);
}
activity.getWindow().setSharedElementEnterTransition(sharedEnter);
return true;
}
代码示例来源: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: xinghongfei/LookLook
getWindow().setSharedElementEnterTransition(new ChangeBounds());
代码示例来源: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: fanrunqi/MaterialLogin
private void ShowEnterAnimation() {
Transition transition = TransitionInflater.from(this).inflateTransition(R.transition.fabtransition);
getWindow().setSharedElementEnterTransition(transition);
transition.addListener(new Transition.TransitionListener() {
@Override
public void onTransitionStart(Transition transition) {
cvAdd.setVisibility(View.GONE);
}
@Override
public void onTransitionEnd(Transition transition) {
transition.removeListener(this);
animateRevealShow();
}
@Override
public void onTransitionCancel(Transition transition) {
}
@Override
public void onTransitionPause(Transition transition) {
}
@Override
public void onTransitionResume(Transition transition) {
}
});
}
代码示例来源:origin: xinghongfei/LookLook
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.zhihudescribe);
setDragEdge(SwipeBackLayout.DragEdge.LEFT);
ButterKnife.bind(this);
mDeviceInfo = DensityUtil.getDeviceInfo(this);
width = mDeviceInfo[0];
heigh = width * 3 / 4;
setSupportActionBar(mToolbar);
initlistenr();
initData();
initView();
getData();
chromeFader = new ElasticDragDismissFrameLayout.SystemChromeFader(this);
if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){
getWindow().getSharedElementReturnTransition().addListener(zhihuReturnHomeListener);
getWindow().setSharedElementEnterTransition(new ChangeBounds());
}
enterAnimation();
}
代码示例来源:origin: ongakuer/PhotoDraweeView
@TargetApi(Build.VERSION_CODES.LOLLIPOP) private void initWindowTransitions() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);
AutoTransition transition = new AutoTransition();
getWindow().setSharedElementEnterTransition(transition);
getWindow().setSharedElementExitTransition(transition);
ActivityCompat.setEnterSharedElementCallback(this, new SharedElementCallback() {
@Override public void onSharedElementEnd(List<String> sharedElementNames,
List<View> sharedElements, List<View> sharedElementSnapshots) {
for (final View view : sharedElements) {
if (view instanceof PhotoDraweeView) {
((PhotoDraweeView) view).setScale(1f, true);
}
}
}
});
}
}
}
代码示例来源: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: yugai/DouYu-Android
/**
* Create a {@link FabTransform} from the supplied {@code activity} extras and set as its
* shared element enter/return transition.
*/
public static boolean setup(@NonNull Activity activity, @Nullable View target) {
final Intent intent = activity.getIntent();
if (!intent.hasExtra(EXTRA_FAB_COLOR) || !intent.hasExtra(EXTRA_FAB_ICON_RES_ID)) {
return false;
}
final int color = intent.getIntExtra(EXTRA_FAB_COLOR, Color.TRANSPARENT);
final int icon = intent.getIntExtra(EXTRA_FAB_ICON_RES_ID, -1);
final FabTransform sharedEnter = new FabTransform(color, icon);
if (target != null) {
sharedEnter.addTarget(target);
}
activity.getWindow().setSharedElementEnterTransition(sharedEnter);
return true;
}
代码示例来源: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: SpikeKing/wcl-circle-reveal-demo
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void setupEnterAnimation() {
Transition transition = TransitionInflater.from(this)
.inflateTransition(R.transition.arc_motion);
transition.addListener(new Transition.TransitionListener() {
@Override public void onTransitionStart(Transition transition) {
}
@Override public void onTransitionEnd(Transition transition) {
transition.removeListener(this);
animateRevealShow();
}
@Override public void onTransitionCancel(Transition transition) {
}
@Override public void onTransitionPause(Transition transition) {
}
@Override public void onTransitionResume(Transition transition) {
}
});
getWindow().setSharedElementEnterTransition(transition);
}
代码示例来源:origin: lynfogeek/conference-app
/**
* Enable to share views across activities with animation
* on Android 5.0 Lollipop
*/
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void setupLollipop() {
getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
getWindow().setSharedElementExitTransition(new ChangeBounds());
getWindow().setSharedElementEnterTransition(new ChangeBounds());
}
代码示例来源:origin: lynfogeek/conference-app
/**
* Enable to share views across activities with animation
* on Android 5.0 Lollipop
*/
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void setupLollipop() {
getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
getWindow().setSharedElementExitTransition(new ChangeBounds());
getWindow().setSharedElementEnterTransition(new ChangeBounds());
}
代码示例来源: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: WakeHao/TransitionExample
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_with_shared_element_transitions);
initView();
initToolbar();
getWindow().setEnterTransition(initContentEnterTransition());
getWindow().setSharedElementEnterTransition(initSharedElementEnterTransition());
getWindow().setReturnTransition(TransitionInflater.from(this).inflateTransition(R.transition.return_slide));
}
代码示例来源: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);
}
内容来源于网络,如有侵权,请联系作者删除!