#reactjs #react-native #react-router
#reactjs #react-native #реагировать-маршрутизатор
Вопрос:
я создал приложение на языке react-native, когда язык телефона — En, все идет нормально, но когда я меняю язык телефона, пользовательский интерфейс выходит из строя, и все, что я использую, работает в обратном направлении
"react": "16.6.3",
"react-native": "0.58.5",
Ответ №1:
Вы должны отключить просмотр rtl в своем приложении
Поместите этот код в app.js:-
const ReactNative = require('react-native');
try {
ReactNative.I18nManager.allowRTL(false);
} catch (e) {
console.log(e);
}
и все должно быть в порядке.
Ответ №2:
I18nManager.allowRTL(false);
не сработало в первый раз, когда я открыл приложение, но это сработало в следующий раз, когда я открыл приложение. Вместо этого я внес эти изменения в MainApplication.java
, и это работает совершенно нормально:
import com.facebook.react.modules.i18nmanager.I18nUtil;
....
@Override
public void onCreate() {
super.onCreate();
// FORCE LTR
I18nUtil sharedI18nUtilInstance = I18nUtil.getInstance();
sharedI18nUtilInstance.allowRTL(getApplicationContext(), false);
.....
}
.....
Ответ №3:
Похоже на @Roozbeh, но вы можете просто сделать это:
import { I18nManager} from 'react-native';
затем
try {
I18nManager.allowRTL(false);
}
catch (e) {
console.log(e);
}