我正在尝试使用flutter进行web开发,但找不到有关如何配置图标的信息。
这应该是可行的,因为taphero_web已经实现了。我查看了他们的源代码,但没有找到他们网站上使用的图片:
我使用codemagic.io托管我的应用程序。有什么想法吗?我正在尝试使用flutter进行web开发,但找不到有关如何配置图标的信息。
这应该是可行的,因为taphero_web已经实现了。我查看了他们的源代码,但没有找到他们网站上使用的图片:
我使用codemagic.io托管我的应用程序。有什么想法吗?很高兴你问!作为该项目的所有者,我可以告诉你我的做法:
更新:支持PWA和Flutter 3
1- 在您的/web
文件夹中(将被推送到服务器上),添加一个/icons文件夹(如果您没有它)。
2- 一旦到达那里,您需要使用像这个网站上传您的一组图像。
3- 它看起来会像这样:
4- 您应该有一个manifest.json
,它看起来会像这样:
{
"name": "Tap Hero",
"short_name": "Tap Hero",
"start_url": ".",
"display": "standalone",
"background_color": "#000000", // any HEX color works
"theme_color": "#000000", // any HEX color works
"description": "anything you want here",
"orientation": "portrait" // or changed as you wish
"prefer_related_application": false,
"icons": [
{
"src": "\/icons/android-icon-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "\/icons/android-icon-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "\/icons/android-icon-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "\/icons/android-icon-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "\/icons/android-icon-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "\/icons/android-icon-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"
}
]
}
5- 完成上述步骤后,在你的index.html
文件中添加其余的图标:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tap Hero</title>
<meta name="description" content="Tap Hero">
<meta name="keywords" content="Flutter, Tap, Hero, Game">
<meta name="author" content="Mariano Zorrilla">
<meta name="theme-color" content="#6200EA" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<link rel="apple-touch-icon" sizes="57x57" href="icons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="icons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="icons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="icons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="icons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="icons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="icons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="icons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="icons/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="icons/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="icons/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png">
<!-- Main Favicon -->
<link rel="icon" type="image/pg" href="favicon/png"/>
<!-- ALTERNATIVE <link rel="icon" type="image/x-icon" href="favicon.ico" /> -->
<link rel="manifest" href="icons/manifest.json">
<meta name="msapplication-TileColor" content="#6200EA">
<meta name="msapplication-TileImage" content="icons/ms-icon-144x144.png">
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('flutter-first-frame', function () {
navigator.serviceWorker.register('flutter_service_worker.js');
});
}
</script>
<script defer src="main.dart.js" type="application/javascript"></script>
</head>
<body>
</body>
</html>
/web
和/或manifest.json
文件损坏/破碎等,你可以删除整个文件并运行“flutter create .”,这将重新生成所有内容,并且你每次都可以进行新尝试。我开始按照Mariano Zorilla的答案操作,但是如果你只想为Flutter Web应用程序设置Favicon,那么这会更加简单。
选择"仅生成16x16 favicon.ico"选项并下载图标文件。
在web/
文件夹中使用你新生成的favicon.ico
文件替换默认的Flutter favicon.png
文件
在web/index.html
文件中,
替换:
<link rel="shortcut icon" type="image/png" href="favicon.png"/>
随着:
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon">
shortcut
链接类型通常在icon
之前出现,但这种链接类型是不符合规范的,会被忽略,网页作者不应再使用它。 - Ruble要为Flutter Web配置网站图标,只需将位于路径./web/favicon.png
的文件替换为自己的图标,然后运行flutter build web
即可。
/web/favicon.png
使用32*32像素的图像替换/web/icons/Icon-192.png
使用192*192像素的图像替换/web/icons/Icon-512.png
使用512*512像素的图像替换/web/icons/Icon-maskable-192.png
使用192*192像素的图像替换/web/icons/Icon-maskable-512.png
使用512*512像素的图像替换flutter build web
命令时都会包括这些文件。安装应用
功能。flutter pub run flutter_launcher_icons:main
或dart run flutter_launcher_icons:main
,它将为您完成所有需要的工作。