React-native-router-flux: الرسوم المتحركة المخصصة لانتقال المشهد

تم إنشاؤها على ٩ يوليو ٢٠١٦  ·  3تعليقات  ·  مصدر: aksonov/react-native-router-flux

الإصدار

  • رد فعل - جهاز التوجيه الأصلي - تدفق v3.26.13
  • رد فعل أصلي v0.26.3

الرسوم المتحركة الربيعية الافتراضية في انتقال المشهد أبطأ قليلاً مما كنت أتوقع ، لذلك أتساءل عما إذا كان من الممكن إنشاء واستخدام رسوم متحركة مخصصة. سيكون موضع تقدير أي مؤشر.

ال 3 كومينتر

مرحبًا ، إليك كيف فعلت ذلك للتعامل مع لغات rtl (مثل العربية ، بحيث يكون الانتقال من اليمين إلى اليسار.

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

ومع ذلك ، فإنه لا يزال غير مفيد حقًا حيث يتم وضع المشاهد في مواضع خاصة مما يعني أن اتجاه الانتقال يجب أن يتطابق مع المكان الذي يوجد فيه المشهد التالي

كيف سيكون من الأعلى إلى الأسفل أو العكس؟ يبدو أنه يتعامل مع بعد واحد فقط.

لقد أصلحوا هذه المشكلة بالفعل. كل ما عليك فعله هو توفير خاصية direction لأن الاتجاه افتراضيًا هو rightToLeft.
import { I18nManager } from 'react-native'
let directionSide = I18nManager.isRTL ? 'leftToRight' : null
<Scene key='xXXXX' component={XXXXX} title='XXXXX' direction={directionSide}/>

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات