React-native-router-flux: Animasi Kustom untuk Transisi Adegan

Dibuat pada 9 Jul 2016  ·  3Komentar  ·  Sumber: aksonov/react-native-router-flux

Versi: kapan

  • reaksi-asli-router-flux v3.26.13
  • reaksi asli v0.26.3

Animasi pegas default pada transisi adegan sedikit lebih lambat dari yang saya harapkan, jadi saya bertanya-tanya apakah mungkin untuk membuat dan menggunakan animasi khusus. Setiap pointer akan dihargai.

Semua 3 komentar

Hai, inilah cara saya melakukannya untuk menangani bahasa rtl (seperti arab, sehingga transisinya dari kanan ke kiri.

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

Namun, itu masih tidak terlalu berguna karena adegan ditempatkan di posisi khusus yang berarti bahwa arah transisi harus sesuai dengan tempat adegan berikutnya.

Bagaimana dari atas ke bawah atau sebaliknya? tampaknya hanya menangani 1 dimensi.

Mereka sudah memperbaiki masalah ini. Yang perlu Anda lakukan adalah menyediakan properti direction karena secara default arahnya adalah rightToLeft.
import { I18nManager } from 'react-native'
let directionSide = I18nManager.isRTL ? 'leftToRight' : null
<Scene key='xXXXX' component={XXXXX} title='XXXXX' direction={directionSide}/>

Apakah halaman ini membantu?
0 / 5 - 0 peringkat