React-native-router-flux: Animation personnalisée pour la transition de scène

Créé le 9 juil. 2016  ·  3Commentaires  ·  Source: aksonov/react-native-router-flux

Version

  • réagir-natif-routeur-flux v3.26.13
  • réagir natif v0.26.3

L'animation de printemps par défaut lors de la transition de scène est un peu plus lente que prévu, donc je me demande s'il est possible de créer et d'utiliser une animation personnalisée. Tout pointeur serait apprécié.

Tous les 3 commentaires

Salut, voici comment je l'ai fait pour gérer les langues rtl (comme l'arabe, pour que la transition se fasse de droite à gauche.

  rtlAwareAnimation(pos, navState) {
    const factor = I18n.rtl() ? -1 : 1;
    Animated.spring(
      pos,
      {
        bounciness: 0,
        toValue: factor*navState.index,
      }
    ).start();
  },

  render() {
    return (
      <Router>
        <Scene key="signIn" component={SignIn} title={I18n.t('signIn')} initial={true} applyAnimation={this.rtlAwareAnimation} />
        <Scene key="dashboard" component={Dashboard}applyAnimation={this.rtlAwareAnimation} />
      </Router>
    );

Cependant, ce n'est toujours pas vraiment utile car les scènes sont placées dans des positions spéciales, ce qui signifie que la direction de transition doit correspondre à l'endroit où se trouve la scène suivante.

Comment serait-ce de haut en bas ou vice versa? il semble ne gérer qu'une seule dimension.

Ils ont déjà résolu ce problème. Tout ce que vous avez à faire est de fournir la propriété direction car par défaut la direction est rightToLeft.
import { I18nManager } from 'react-native'
let directionSide = I18nManager.isRTL ? 'leftToRight' : null
<Scene key='xXXXX' component={XXXXX} title='XXXXX' direction={directionSide}/>

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

jgibbons picture jgibbons  ·  3Commentaires

xnog picture xnog  ·  3Commentaires

GCour picture GCour  ·  3Commentaires

sreejithr picture sreejithr  ·  3Commentaires

wootwoot1234 picture wootwoot1234  ·  3Commentaires