繁体   English   中英

如何在屏幕之间共享React本机组件

[英]How to share react native components between screens

我正在尝试在两个屏幕之间共享React本机组件,就像可以在ios中使用hero库一样。 我希望组件在两个屏幕之间进行动画处理。

我已经尝试了流体转换库,但是无法正常工作。

即。

为了制作这样的动画,您可以使用TransitionManager,我个人通常将其与ConstraintLayouts一起使用。

为此,您需要的是2个constraintLayouts(两者都需要具有将出现在屏幕上的所有元素,并且在布局之间更改的属性仅应是约束本身。)

使用2种布局,您可以像这样从一个到另一个制作动画:

final ConstraintSet constraint1 = new ConstraintSet();
constraint1.clone(getApplicationContext(), R.layout.layout_shrunk);

final ConstraintSet constraint2 = new ConstraintSet();
constraint2.clone(getApplicationContext(), R.layout.layout_expanded);

//The view you pass as an argument to both methods should be the layout's root.
TransitionManager.beginDelayedTransition((ConstraintLayout)findViewById(R.id.layout_root));
constraint2.applyTo((ConstraintLayout) findViewById(R.id.layout_root));

结果:

在此处输入图片说明

但是,也可以通过其他方式制作这种动画,请查阅官方文档以供参考: https : //developer.android.com/training/transitions

注意:也要获取反向动画,只需应用其他约束集即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM