NodeJS 当它说“link”不是命令并且npx react-native-asset没有做任何事情时,我如何向我的react native项目添加自定义字体

ibps3vxo  于 2023-11-17  发布在  Node.js
关注(0)|答案(1)|浏览(103)

我的react-native-configuration版本是2.0.1,我的react-native版本是0.72.6。我一直在尝试将Monospace字体添加到我的项目中。我已经在项目的根目录中创建了一个带有字体文件夹的asset文件夹,里面有Monospace.ttf文件。我还创建了一个react-native.config.js文件,里面有:

module.exports = {
    project: {
        android:{},
        ios:{},
    },
    assets:['./assets/fonts/'],
}

字符串
当我尝试使用react-native link时,它说链接不被识别为命令。当我尝试使用npx react-native-asset时,它不做任何事情,只是将我发送到下一行。我还尝试全局安装react-native-asset,它确实安装了,但之后npx react-native-asset无法工作。
这就是我试图把:

titleText: {
            position: 'relative',
            bottom: 200,
            fontSize: 55,
            fontFamily: 'Monospace',
        }

bq9c1y66

bq9c1y661#

对于Android react-native,您必须执行进一步的步骤才能使其正常工作。
1.将静态字体文件复制到/android/app/src/main/res/font
1.将字体文件名改为小写。
1.创建{{font name}}.xml,例如:oswald.xml

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android">
        <font android:fontStyle="normal" android:fontWeight="200" android:font="@font/oswald_extralight" />
        <font android:fontStyle="normal" android:fontWeight="300" android:font="@font/oswald_light" />
        <font android:fontStyle="normal" android:fontWeight="400" android:font="@font/oswald_regular" />
        <font android:fontStyle="normal" android:fontWeight="500" android:font="@font/oswald_medium" />
        <font android:fontStyle="normal" android:fontWeight="600" android:font="@font/oswald_semibold" />
        <font android:fontStyle="normal" android:fontWeight="700" android:font="@font/oswald_bold" />
</font-family>

字符串
1.将以下代码添加到MainApplication.Java中

@Override
public void onCreate() {
    super.onCreate();
    // ...
    ReactFontManager.getInstance().addCustomFont(this, "Oswald", R.font.oswald);
}

相关问题