浏览代码

Feature: Fonts added.

lfabl 3 月之前
父节点
当前提交
660bf6fd77

+ 19 - 1
example/app.json

@@ -26,6 +26,24 @@
         },
         "web": {
             "favicon": "./assets/favicon.png"
-        }
+        },
+        "plugins": [
+            [
+                "expo-font",
+                {
+                    "fonts": [
+                        "./src/assets/fonts/Geist-Black.ttf",
+                        "./src/assets/fonts/Geist-Bold.ttf",
+                        "./src/assets/fonts/Geist-ExtraBold.ttf",
+                        "./src/assets/fonts/Geist-ExtraLight.ttf",
+                        "./src/assets/fonts/Geist-Light.ttf",
+                        "./src/assets/fonts/Geist-Medium.ttf",
+                        "./src/assets/fonts/Geist-Regular.ttf",
+                        "./src/assets/fonts/Geist-SemiBold.ttf",
+                        "./src/assets/fonts/Geist-Thin.ttf"
+                    ]
+                }
+            ]
+        ]
     }
 }

+ 1 - 0
example/package.json

@@ -12,6 +12,7 @@
     "dependencies": {
         "@expo/metro-runtime": "~55.0.6",
         "expo": "~55.0.4",
+        "expo-font": "~55.0.4",
         "expo-status-bar": "~55.0.4",
         "ncore-context": "^1.0.5",
         "react": "19.2.0",

二进制
example/src/assets/fonts/Geist-Black.ttf


二进制
example/src/assets/fonts/Geist-Bold.ttf


二进制
example/src/assets/fonts/Geist-ExtraBold.ttf


二进制
example/src/assets/fonts/Geist-ExtraLight.ttf


二进制
example/src/assets/fonts/Geist-Light.ttf


二进制
example/src/assets/fonts/Geist-Medium.ttf


二进制
example/src/assets/fonts/Geist-Regular.ttf


二进制
example/src/assets/fonts/Geist-SemiBold.ttf


二进制
example/src/assets/fonts/Geist-Thin.ttf


+ 18 - 0
example/src/index.tsx

@@ -2,6 +2,9 @@ import {
     StyleSheet,
     View
 } from "react-native";
+import {
+    useFonts
+} from "expo-font";
 import {
     setupNCoreUIKit,
     Text
@@ -19,6 +22,21 @@ const App = () => {
 };
 
 const ContextAPI = () => {
+    /* eslint-disable @typescript-eslint/no-require-imports */
+    const [loaded] = useFonts({
+        "Geist-ExtraLight": require("./assets/fonts/Geist-ExtraLight.ttf"),
+        "Geist-ExtraBold": require("./assets/fonts/Geist-ExtraBold.ttf"),
+        "Geist-SemiBold": require("./assets/fonts/Geist-SemiBold.ttf"),
+        "Geist-Regular": require("./assets/fonts/Geist-Regular.ttf"),
+        "Geist-Medium": require("./assets/fonts/Geist-Medium.ttf"),
+        "Geist-Black": require("./assets/fonts/Geist-Black.ttf"),
+        "Geist-Light": require("./assets/fonts/Geist-Light.ttf"),
+        "Geist-Bold": require("./assets/fonts/Geist-Bold.ttf"),
+        "Geist-Thin": require("./assets/fonts/Geist-Thin.ttf")
+    });
+
+    if (!loaded) return null;
+
     return <NCoreUIKitBase.Provider>
         <App/>
     </NCoreUIKitBase.Provider>;

+ 7 - 0
react-native.config.js

@@ -0,0 +1,7 @@
+module.exports = {
+    dependency: {
+        assets: [
+            "./src/assets/fonts"
+        ]
+    },
+};

+ 1 - 0
yarn.lock

@@ -13006,6 +13006,7 @@ __metadata:
     "@react-native/metro-config": "npm:0.84.1"
     "@types/react-native": "npm:0.73.0"
     expo: "npm:~55.0.4"
+    expo-font: "npm:~55.0.4"
     expo-status-bar: "npm:~55.0.4"
     ncore-context: "npm:^1.0.5"
     react: "npm:19.2.0"