Expo字体在tvOS上加载失败

移动开发 2026-07-09

我在我的Expo Android TV应用里想把文本设为粗体。

仅仅使用 fontWeight: 600 没有作用,所以我以为默认字体没有粗体。

随后我按照Expo文档安装自定义字体,尝试了所有方法(既有本地字体也有Google字体),并使用config插件和useFont钩子。

这些办法都不起作用。

请帮忙🙏

软件包:

"@expo-google-fonts/nunito": "^0.4.2"
"expo": "^55.0.2"
"expo-font": "~55.0.6"
"react": "19.2.4"
"react-native": "npm:[email protected]"

解决方案

fontWeight 在Android上并非直接支持。你按下面的方式定义确切的字体定义:

import { Text, View } from 'react-native';
import { useFonts } from 'expo-font';
import {
  Nunito_400Regular,
  Nunito_600SemiBold,
} from '@expo-google-fonts/nunito';

export default function App() {
  const [fontsLoaded] = useFonts({
    Nunito_400Regular,
    Nunito_600Bold,
  });

  if (!fontsLoaded) {
    return null; // or a loader
  }

  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Text style={{ fontFamily: 'Nunito_400Regular', fontSize: 18 }}>
        Regular Nunito
      </Text>

      <Text style={{ fontFamily: 'Nunito_600SemiBol', fontSize: 18 }}>
        Semi Bold Nunito
      </Text>
    </View>
  );
}
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章