React native 反应导航自定义缩放过渡动画,如应用程序打开时

React native 反应导航自定义缩放过渡动画,如应用程序打开时,react-native,react-navigation,react-animated,React Native,React Navigation,React Animated,我想在按下下一个屏幕的按钮时创建一个缩小效果,一个自定义的转换,比如当从主屏幕按下应用程序时,启动屏幕就会出现 我在stackNavigator中尝试了transitionConfig,并使用了带有以下代码的自定义转换 let sharedElementTransition = (index, position,touchPosition, height) => { const inputRange = [index - 1, index, index + 1]; const output

我想在按下下一个屏幕的按钮时创建一个缩小效果,一个自定义的转换,比如当从主屏幕按下应用程序时,启动屏幕就会出现

我在stackNavigator中尝试了transitionConfig,并使用了带有以下代码的自定义转换

let sharedElementTransition = (index, position,touchPosition, height) => {
const inputRange = [index - 1, index, index + 1];
const outputRange = [0.1, 1, 1];

const opacity = position.interpolate({
  inputRange,
  outputRange: [0, 1, 1],
});

const scale = position.interpolate({
  inputRange:[0, 0.01, 0.99, 1],
  outputRange:[0.3, 0.3, 1, 1],
});

const translateX = position.interpolate({
  inputRange,
  outputRange: [touchPosition.x, 0, 0]
})

const translateY = position.interpolate({
  inputRange,
  outputRange: [touchPosition.y, 0, 0]
})

return {
opacity,
  transform: [
      {scale},
      { translateX },
      { translateY },
  ]
 };
};
我面临的问题是缩放从屏幕的中间开始,因此如果我将位置传递为屏幕的右上角(237,16),我无法使translateX和translateY正确设置动画,因为下一个屏幕的缩放比屏幕大小小(我们从上一个屏幕中按下的按钮设置下一个屏幕的动画)所以它的坐标系没有点(237,16)

这不是一个共享元素动画问题,我还在react navigation文档中尝试了推荐,但是在这个文档中(从它的示例来看,没有详细的文档),我在FluidNavigator下的屏幕似乎从来没有标题