2017-01-19 8 views
4

Я хочу динамически настроить направление приложения по свойству. React Native позволяет задать направление в соответствии с языком по умолчанию устройства, но я хочу выбрать направление по свойству locale, которое у меня есть на данных моего пользователя.Динамически настроенный RTL/LTR в React-Native

До сих пор я использовал этот код в моем MainApplication.java, чтобы заставить только LTR для всех пользователей:

I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance(); 
sharedI18nUtilInstance.allowRTL(getApplicationContext(), false); 

Я ищу теперь способ вида переключения «ложный» в коде , до логического значения, которое изменяется в соответствии с локали моего пользователя. Понятия не имею, как добиться того, что ...

Экстра Информация:

  • Android устройство
  • RN версия: 0.40.0

ответ

1

вы можете использовать, чтобы заставить I18nManager направление

языка
constructor() { 
    super(); 
    //set user language b default english 
    this.state = { 
     lang: 'en' 
    } 
} 


componentWillMount() { 
      //get user lang form AsyncStorage 
    AsyncStorage.getItem('lang').then((value) => { 
     //now you should forceRTL by Language and set Language in your states 
     if ((value === 'ar' || value === 'fa')) { 
      I18nManager.forceRTL(true); 
     } else { 
      I18nManager.forceRTL(false); 
     } 
     return this.setState({ 
      lang: value 
     }); 
    }).done(); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^