我正在试验Web的Flutter ,找不到如何配置图标的信息.

这应该是可能的,因为taphero_web人以某种方式做到了这一点.我查看了他们的来源,但找不到他们为网站提供的图片:

enter image description here

我用codemagic.io托管我的应用程序. 有什么主意吗?

推荐答案

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

UPDATE: With PWA support and Flutter 2

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

2-一旦你到了那里,你需要上传你的一组图片,其中有this one个这样的网站.

3-看起来像这样:

Icons Folder

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>
  1. 如果(有可能)你的/webmanifest.json个文件被损坏/损坏/等等,你可以删除整个文件并进行"创建"这将再次为您生成所有内容,并且每次都可以进行新的try .

Flutter相关问答推荐

飞溅屏幕背景图像不起作用你能帮助我吗

Flutter—如何在Riverpod中使用全类状态?

在Riverpod ConsumerWidget中使用文本编辑控制器

在Flutter 中创建自定义Snackbar类

如何在Flutter 中不从getX库中初始化GetxController中的变量

如何在扩展其他小部件时访问Ref

Android上火焰瓷砖之间的线条飘动

如何在 Flutter 中以背景 colored颜色 制作圆圈的一部分

在 flutter 的列中使用 Expanded 时出现渲染 Flex 错误

GridView 渲染项目之间有微小的间隙

Flutter:在 pubspec.yaml 中找不到assets资源

Flutter:注册 UI 出现 UI 问题(将注册框提升到顶部并向电话号码 pin 码添加一个框)

Dart:未捕获错误:RangeError(索引):索引超出范围:索引应小于 7:7

Flutter 应用程序在启动画面冻结(java.lang.RuntimeException:无法启动活动 ComponentInfo)

如何停止折线图的抖动

底部工作表顶部的一块 Flutter

无效的 depfile: C:\xxx\xxx\Flutter\project_name\.dart_tool\flutter_build\df4b308df1ee4bce22c56c71751554d1\kernel_snapshot.d 无效

如何按值对列表中的 map 进行排序

主题:ThemeData() Flutter

setState 不会在第一次更新 - Flutter