2

所以我知道这已经在多个其他线程中进行了处理,但这个有点独特,我使用 React Native 构建了这个应用程序,它使用滑动手势来动画视图滑入视图。iOS 几乎完美无缺,但是当在 android 上运行时,任何超过堆栈按钮中的第一个视图的任何内容按下视图内部都会停止工作,我相信这是因为父视图本质上是滑出视图,因此没有触摸正在注册. 我对如何解决这个问题有点困惑,这是一种临时实现,所以也许有我忽略的原生包的反应。

<Animated.View style={{
  transform: [{
    translateX: xOffset.interpolate({
      inputRange: [0, 2],
      outputRange: [0, -Dimensions.get('window').width * 2]
    })
  }]
}}>
  <RenderViews />
</Animated.View>

const RenderViews = props => {
  return (
    <View style={{
      flexDirection: 'row',
    }}>
      <Preset1 />
      <Preset2 />
      <Manual />

    </View>
  )
};
4

2 回答 2

1

我最终实现了 react-native-swiper,它处理了所有的滑动逻辑,并且按钮按下在 android 上再次起作用。

https://github.com/leecade/react-native-swiper

于 2020-01-02T01:47:23.237 回答
-1

你可以使用tovalue来启动动画

例子

Animated.timing(
  // Animate value over time
  this.state.fadeAnim, // The value to drive
  {
    toValue: 1, // Animate to final value of 1
  },
).start(); 

您可能应该收听屏幕事件

并在有变化时运行动画事件

于 2019-12-31T21:18:40.127 回答