我的新手反应原生!我在我的项目中使用了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,
}
}
});

答案 0 :(得分:2)
您要做的是覆盖主题变量。
导入默认主题变量和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>
);
}
}