React-native-router-flux: Animación personalizada para transición de escena

Creado en 9 jul. 2016  ·  3Comentarios  ·  Fuente: aksonov/react-native-router-flux

Versión

  • reaccionar-nativo-enrutador-flujo v3.26.13
  • reaccionar nativo v0.26.3

La animación de resorte predeterminada en la transición de escena es un poco más lenta de lo que esperaba, por lo que me pregunto si es posible crear y usar una animación personalizada. Cualquier puntero sería apreciado.

Todos 3 comentarios

Hola, así es como lo hice para manejar idiomas rtl (como el árabe, para que la transición sea de derecha a izquierda).

  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>
    );

Sin embargo, todavía no es realmente útil ya que las escenas se colocan en posiciones especiales, lo que significa que la dirección de transición debe coincidir con el lugar donde se encuentra la siguiente escena.

¿Cómo sería de arriba hacia abajo o viceversa? parece manejar solo 1 dimensión.

Ya han solucionado este problema. Todo lo que necesita hacer es proporcionar la propiedad direction porque, de manera predeterminada, la dirección es de derecha a izquierda.
import { I18nManager } from 'react-native'
let directionSide = I18nManager.isRTL ? 'leftToRight' : null
<Scene key='xXXXX' component={XXXXX} title='XXXXX' direction={directionSide}/>

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

rafaelcorreiapoli picture rafaelcorreiapoli  ·  3Comentarios

maphongba008 picture maphongba008  ·  3Comentarios

sreejithr picture sreejithr  ·  3Comentarios

GCour picture GCour  ·  3Comentarios

wootwoot1234 picture wootwoot1234  ·  3Comentarios