Класс I18nManager
Класс I18nManager не рисует элементы на экране.
Геттер isRTL показывает, включена ли раскладка справа налево.
Геттер doLeftAndRightSwapInRTL сообщает,
меняются ли местами отступы left и right в режиме RTL.
Методы allowRTL
и forceRTL
включают направление после перезагрузки приложения.
isRTL можно читать сразу.
Синтаксис
import { I18nManager } from 'react-native';
const rtl = I18nManager.isRTL;
Методы
| Метод | Описание |
|---|---|
allowRTL |
Разрешает или запрещает раскладку RTL. |
forceRTL |
Включает или выключает RTL принудительно. |
Пример
Давайте покажем, активен ли RTL:
import { View, Text, I18nManager } from 'react-native';
export default function App() {
return (
<View>
<Text>{I18nManager.isRTL ? '12345' : 'abcde'}</Text>
</View>
);
}
На экране '12345' при RTL и 'abcde' при обычном направлении.
Пример
Давайте выровняем текст по началу строки с учётом направления:
import { View, Text, I18nManager, StyleSheet } from 'react-native';
export default function App() {
return (
<View style={styles.box}>
<Text style={styles.label}>abcde</Text>
</View>
);
}
const styles = StyleSheet.create({
box: {
flex: 1,
alignItems: 'flex-start',
},
label: {
writingDirection: I18nManager.isRTL ? 'rtl' : 'ltr',
},
});
На экране текст 'abcde' прижат к началу строки для текущего направления.