我打开了一个 Java 原生Android 应用和一个 Flutter Android应用在同一设备上并为两个应用程序截图:
如您所见,它们用来显示其文本的字体是不同的。
这两个应用程序都是使用Samsung Galaxy S5 Choco Cooky默认主题运行的。
Java本机应用程序会适应并显示自定义的Samsung Galaxy字体,而 Flutter应用程序不会调整字体。
如何配置Flutter应用以使用设备的默认字体?
答案 0 :(得分:2)
为PlatformChannels
创建一个TextView
,然后将此Android TextView
访问Flutter应用程序。
并使用它代替Flutter的Text
小部件。
查看此Article以获得更多信息。
答案 1 :(得分:0)
在Flutter中,Android上的默认字体是Roboto,而在iOS上的默认字体是.SF UI Pro和.SF UI Text。
在iOS上可以,但是在android上有许多具有不同默认字体系列的ROM。
为了获取设备默认字体系列,我在Android上编写了一个平台频道,下面是获取设备默认字体系列的代码:
{
"lang": "en-US",
"name": "app name",
"scope": "./",
"display": "standalone",
"start_url": "/",
"short_name": "app name",
"theme_color": "#227194",
"description": "This is pwa for app",
"orientation": "any",
"background_color": "#227194",
"related_applications": [],
"prefer_related_applications": false,
"icons": [
{
"src": "/Assets/Images/icons/icon-128x128.png",
"sizes": "128x128",
"type": "image/png"
},
{
"src": "/Assets/Images/icons/icon-152x152.png",
"sizes": "152x152",
"type": "image/png"
},
{
"src": "/Assets/Images/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/Assets/Images/icons/icon-384x384.png",
"sizes": "384x384",
"type": "image/png"
},
{
"src": "/Assets/Images/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
},
{
"src": "/Assets/Images/icons/icon-144x144.png",
"sizes": "144x144",
"type": "image/png"
},
{
"src": "/Assets/Images/icons/icon-72x72.png",
"sizes": "72x72",
"type": "image/png"
},
{
"src": "/Assets/Images/icons/icon-96x96.png",
"sizes": "96x96",
"type": "image/png"
}
]
}