Shoutem изменить шрифт по умолчанию Семья не работает
Я новичок в реакции родной! Я использовал shoutem/ui в моем проекте. У меня есть проблема, когда изменить по умолчанию fontFamily. Вот мой код, пожалуйста, проверьте, а затем помогите мне решить эту проблему. Большое спасибо, ребята.
const theme = _.merge(getTheme(), {
defaultFont: {
fontFamily: 'Rubik-Italic',
},
'shoutem.ui.NavigationBar': {
'.clear': {
container: {
backgroundColor: params.primaryColor,
borderBottomColor: 'transparent',
position: 'relative',
},
'shoutem.ui.Title': {
color: 'white',
fontSize: 16,
},
},
'.normal': {
container: {
position: 'relative'
},
'shoutem.ui.Button': {
'shoutem.ui.Icon': {
color: params.colorTextAlpha,
},
'shoutem.ui.Text': {
color: params.colorTextAlpha,
},
},
'shoutem.ui.Title': {
color: params.colorText,
},
}
},
'shoutem.ui.Row': {
'.fix': {
paddingHorizontal: 10,
paddingVertical: 10,
}
}
});
1 ответ
Решение
То, что вы хотите сделать, это переопределить переменные темы.
Импортируйте переменные темы по умолчанию и функцию getTheme:
import {
getTheme,
defaultThemeVariables,
} from '@shoutem/ui';
Затем определите ваши собственные переменные:
const myThemeVariables = {
...defaultThemeVariables,
title: { fontFamily: 'MyFont' },
};
А затем определите свою собственную тему, которая использует эти переменные:
const myTheme = getTheme(myThemeVariables);
Нету больше defaultFont
настройки, которые вы можете переопределить, так что, к сожалению, вам придется быть конкретным.
Кроме того, вы должны импортировать StyleProvider:
import { StyleProvider } from '@shoutem/theme';
И используйте его для управления стилем ваших компонентов:
render() {
return (
<StyleProvider style={myTheme}>
// your components here
</StyleProvider>
);
}
}