在 React Native 中本地化为 LTR 时使用 RTL 方向

Use RTL Direction when Localization is LTR In React Native

我已经 i18n 在我的 React Native 应用程序中使用多种语言。

问题是当 Localization 设置基于 LTR 时,我无法将 TextInput 方向更改为 RTL。 我试过 writingDirection 但它只在 IOS 中有效。 我也试过 textAlign 但一无所获:(。

这是我的 i18n 设置和 TextInput 示例代码:

i18n.js

import { I18nManager } from 'react-native';
import * as Localization from 'expo-localization';
import i18n from 'i18n-js';
import fa from '../locales/fa';
import en from '../locales/en';

I18nManager.forceRTL(false);
Localization.locale = 'en';

i18n.fallbacks = true;
i18n.translations = { fa, en };
i18n.locale = Localization.locale;

export default i18n;

TextInput示例代码

<TextInput
 style={{textAlign: 'right'}}   // here is the style that does'nt work.        
 label={i18n.t('signUp.surName')}
 value={formData.surName.value}
 onChangeText={(value) => changeHandler('surName', value)} 
/>

我写了snack example,没发现问题: https://snack.expo.io/@djalik/text-input-align-right 可能是您使用的是 expo/react-native.

的旧版本