React-Native-Video, как добавить onPress? - PullRequest
0 голосов
/ 21 сентября 2018

Я создаю мобильное приложение, связанное с видео, и больше похоже на Snapchat Snapchat.Я хочу добавить функцию onPress к видео, поэтому, когда пользователь нажимает на нее, она просто переходит к следующему видео.

Итак, я рендерину видео следующим образом.

return (
  <View style={{justifyContent: 'center', alignItems: 'center', flex: 1}}>
    {this.state.buffering && <ActivityIndicator size="large"/>}
    {this.video()}
  </View>
);

Но когда япопробуйте добавить Touchableopacity к нему, чтобы можно было нажать на видео, видео не видно.Я слышу звуки видео, но его не видно.

return (
  <View style={{justifyContent: 'center', alignItems: 'center', flex: 1}}>
    {this.state.buffering && <ActivityIndicator size="large"/>}
    <TouchableOpacity onPress={this.continue.bind(this, 1)}>
      {this.video()}
    </TouchableOpacity>
  </View>
);

и функция видео:

return (
  <Video
    source={{uri: 'http://' + this.state.videos[this.state.plamount].video_path}}
    resizeMode="cover"
    paused={this.state.pause}
    style={StyleSheet.absoluteFill}
    onLoad={() => this.setState({buffering: false})}
    repeat={true}
    onError={() => Actions.reset('main')}
  />
)

1 Ответ

0 голосов
/ 21 сентября 2018

Ну, я нашел ответ.Могут быть и другие ответы, но когда я изменил

с

return (
  <View style={{justifyContent: 'center', alignItems: 'center', flex: 1}}>
    {this.state.buffering && <ActivityIndicator size="large"/>}
    {this.video()}
  </View>
);

на

<TouchableOpacity onPress={this.continue.bind(this, 1)} style={{justifyContent: 'center', alignItems: 'center', flex: 1}}>
   {this.state.buffering && <ActivityIndicator size="large"/>}
   {this.continue()}
</TouchableOpacity>

, это сработало .. но в любом случае, все еще остается вопрос, почемувидео не видно, если вокруг видео есть еще одна оболочка? ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...