الرسوم المتحركة الربيعية الافتراضية في انتقال المشهد أبطأ قليلاً مما كنت أتوقع ، لذلك أتساءل عما إذا كان من الممكن إنشاء واستخدام رسوم متحركة مخصصة. سيكون موضع تقدير أي مؤشر.
مرحبًا ، إليك كيف فعلت ذلك للتعامل مع لغات 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}/>