反应原生android

时间:2017-11-02 11:34:07

标签: react-native react-native-android

这是我的LayoutAnimation.configureNext(CustomLayoutAnimation);

var CustomLayoutAnimation = {
  duration: 10,
  create: {
    type: LayoutAnimation.Types.linear,
    property: LayoutAnimation.Properties.opacity
  },
  update: {
    type: LayoutAnimation.Types.curveEaseInEaseOut
  }
};

在我的构造函数中

constructor(props: Object) {
    super(props);
    if (Platform.OS === "android") {
      UIManager.setLayoutAnimationEnabledExperimental &&
        UIManager.setLayoutAnimationEnabledExperimental(true);
    }

但是ios在android中运行正常得到错误enter image description here

1 个答案:

答案 0 :(得分:5)

可能会迟到但希望它会帮助别人。

我最近在尝试使用本机中的LayoutAnimation时遇到了类似的问题。浏览源代码给了我一些想法。在你的情况下,它可能是curveEaseInEaseOut,LayoutAnimation.js文件中的类型是easeInEaseOut。

这是我定义自定义动画类型的方式。

const CustomLayoutLinear = {
  duration: 300,
  create: {
    type: LayoutAnimation.Types.linear,
    property: LayoutAnimation.Properties.opacity,
  },
  update: {
    type: LayoutAnimation.Types.linear,
  },
  delete: {
    duration: 50,
    type: LayoutAnimation.Types.linear,
    property: LayoutAnimation.Properties.opacity,
  },
};