Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何为我的颤振web应用程序配置图标?_Flutter - Fatal编程技术网

Flutter 如何为我的颤振web应用程序配置图标?

Flutter 如何为我的颤振web应用程序配置图标?,flutter,Flutter,我正在试用Flitter for web,但找不到如何配置图标的信息 这应该是可能的,因为它不知怎么做了。我查看了他们的来源,但找不到他们在网站上的图像: 我用codemagic.io托管我的应用程序。 有什么想法吗?很高兴你这么问!作为该项目的所有者,我可以告诉你我是如何做到的: 更新:使用PWA支持和颤振2 1-在您的/web文件夹(要推送到服务器)中,添加一个/icons文件夹(如果您还没有) 2-一旦你到了那里,你需要上传你的一组图片,像这样的网站 3-看起来是这样的: { &

我正在试用Flitter for web,但找不到如何配置图标的信息

这应该是可能的,因为它不知怎么做了。我查看了他们的来源,但找不到他们在网站上的图像:

我用codemagic.io托管我的应用程序。
有什么想法吗?

很高兴你这么问!作为该项目的所有者,我可以告诉你我是如何做到的:

更新:使用PWA支持和颤振2

1-在您的
/web
文件夹(要推送到服务器)中,添加一个/icons文件夹(如果您还没有)

2-一旦你到了那里,你需要上传你的一组图片,像这样的网站

3-看起来是这样的:

{
    "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"
        }
    ]
}

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>

踢踏英雄
if(导航器中的“serviceWorker”){
window.addEventListener('flatter-first-frame',函数(){
navigator.serviceWorker.register('flatter_service_worker.js');
});
}
  • 如果(有可能)您的
    /web
    和/或
    manifest.json
    文件已损坏/损坏/等,您可以删除整个文件并执行“flatter create”。这将再次为您生成所有内容,并可以每次进行新的尝试

  • 我开始按照Mariano Zorilla的回答中的说明进行操作,但发现如果您只想为您的Flitter Web应用程序设置Favicon,则操作会简单得多

  • 在图标创建网站中上载您的图像
  • 选择“仅生成16x16 favicon.ico”选项并下载图标文件

  • web/
    文件夹中,用新生成的
    favicon.ico
    文件替换默认的颤振
    favicon.png

  • web/index.html
    文件中

  • 替换:

    
    
    与:

    
    
    要为Flatter web配置favicon,只需将路径
    /web/favicon.png
    中的文件替换为您自己的图标,然后运行
    Flatter build web

    谢谢。我使用codemagic进行托管。因此,我假设“要推送到服务器的文件夹”是“Web”。是的,我使用了我在这里发布的资产链接(“这一个”):“要推送到服务器的文件夹”是保存index.html的文件夹,等等,是在进行webdev构建后生成的文件夹。manifest.json中的密度是什么意思,像1.0x吗,2.0x移动资产?此解决方案非常有用。使用此解决方案,“将图标保存到主屏幕”是否有效?还是仅仅在URL栏上显示一个小图标?