javascript - react native : Customizing TouchableOpacity Animation Speed

标签 javascript android ios reactjs react-native

根据 TouchableOpacity docs ,有一个 activeOpacity Prop 来改变结束的不透明度级别,还有一个 setOpacityTo 函数来将组件动画到任何不透明度级别。似乎没有任何关于改变动画应该多快的事情。

我将如何改变动画速度?有 Prop 吗?我需要制作自己的自定义 Animated.View 吗?

最佳答案

那将是方法的持续时间部分......

setOpacityTo(value: number, duration: number)

React-native 在后台使用 setOpacityTo 使用 setNativeProps with TouchableOpacity 设置不透明度动画.

setOpacityTo(value) {
  // Redacted: animation related code
  this.refs[CHILD_REF].setNativeProps({
    opacity: value
  });
},

因此,看起来您也可以根据需要创建自己的动画事件。这是 how touchable opacity uses setOpacityTo ,确保将 useNativeDriver 设置为 true

  setOpacityTo: function(value: number, duration: number) {
    Animated.timing(
      this.state.anim,
      {
        toValue: value,
        duration: duration,
        easing: Easing.inOut(Easing.quad),
        useNativeDriver: true,
      }
    ).start();
  },

关于javascript - react native : Customizing TouchableOpacity Animation Speed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47318861/

相关文章:

javascript - 我应该如何为在 React/Redux 应用程序中作为 props 传递的函数配置 Flow 类型检查?

android - 如何在 renderscript 中制作圆柱体

android - 如何将输出写入 Android 中的 Log?

javascript - 如何在点击推送通知时在应用程序中打开特定页面?

iOS:在加载覆盖期间启用导航

javascript - 未从输入框中提取值

javascript - 我应该使用 props 还是 states 来传递数据?

javascript - VSCode 智能感知无法从 JSDoc 检测对象类型

ios - UIDocument 打开/关闭行为

ios - Swift 从 Nib 创建自定义 View