1

我在函数组件中使用 layoutAnimation 使其看起来流畅。它在 IOS 上运行良好,但在 Android 上,当我使用 layoutAnimation 从另一个视图切换到视图时,它会显示额外的蓝色透明背景。

这是我的代码

const { UIManager } = NativeModules;

UIManager.setLayoutAnimationEnabledExperimental &&
  UIManager.setLayoutAnimationEnabledExperimental(true);

const myFunction = (props) => {
   ...
   useEffect(() => {
            LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
   }, [props.info]); // info is the component data  
  ...
}

有没有人遇到同样的问题?

多谢。

4

1 回答 1

0

Android 上的 LayoutAnimation 是实验性的,因此遇到异常行为并不罕见。我建议使用 React Native Animated API 或react-native-reanimated。但是,您的描述表明您可能对预设的不透明度有疑问。我不确定您要制作什么动画,但如果您不需要动画中的不透明度,您可能需要尝试以下代码示例。

    LayoutAnimation.configureNext({
        duration: 300,
        update: {
            type: 'easeInEaseOut',
        },
    });
于 2022-01-28T10:38:11.053 回答