【问题标题】:Use RTL Direction when Localization is LTR In React NativeReact Native 中本地化为 LTR 时使用 RTL 方向
【发布时间】:2019-10-13 12:52:45
【问题描述】:

我使用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)} 
/>

【问题讨论】:

    标签: reactjs react-native expo react-native-paper


    【解决方案1】:

    我写了零食的例子,没有发现问题: https://snack.expo.io/@djalik/text-input-align-right 可能您使用的是旧版本的 expo/react-native。

    【讨论】:

    • 感谢您的回复。您发送的代码是正确的,但我使用的是react-native-paper 输入文本,当我尝试将textAlign 应用到它时,我失败了:( 你还有其他想法吗?
    • 据此:github.com/callstack/react-native-paper/issues/1076,现在可以了。您可以使用其他控件,例如 native-base..
    • 是的,你是对的。感谢您的回答。欣赏它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    相关资源
    最近更新 更多