首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在react导航中应用独立的HeaderStyleInterpolators?

如何在react导航中应用独立的HeaderStyleInterpolators?
EN

Stack Overflow用户
提问于 2020-01-17 02:07:19
回答 1查看 1.1K关注 0票数 0

使用反应-导航-堆栈1.10.3,应用'uikit‘的headerTransitionPreset从左到右转换标题标题,同时淡入/淡出headerRight或headerLeft中的任何元素。

在react-navigation-stack 2.0.15中,为了支持使用headerStyleInterpolator.forUIKit,这种转换被弃用了,但这种转换普遍适用于整个头部,而不仅仅是标题。

我如何在1.10.X和2.0.X上复制之前的行为,其中我可以在headerRight和headerLeft上使用forFade?

2.0.15上的示例:

1.10.3上的示例:

主要问题是在返回堆栈时删除淡入淡出动画,并将其替换为从左到右的过渡。

EN

回答 1

Stack Overflow用户

发布于 2020-01-17 09:54:59

forUIKit样式模仿原生iOS行为。如果您不想要相同的行为,您可以使用自定义样式插值器来代替。

如果您希望保留forUIKit中相同的插值器,但希望淡出左侧和右侧按钮而不是默认过渡,则可以使用如下所示覆盖这些样式:

代码语言:javascript
运行
复制
function forCustomHeaderAnimation(options) {
  const { progress } = options.current;
  const styles = HeaderStyleInterpolators.forUIKit(options);

  return {
    ...styles,
    leftButtonStyle: { opacity: progress },
    leftLabelStyle: {},
    rightButtonStyle: { opacity: progress },
  };
}

// ...

static navigationOptions = {
  headerStyleInterpolator: forCustomHeaderAnimation
}

来源:https://github.com/react-navigation/navigation-ex/blob/2243b45cc1addf83727166d82736d214f181b1fb/packages/stack/src/TransitionConfigs/HeaderStyleInterpolators.tsx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59775479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档