我们能否在Flutter项目中使用Android设备上的SF Symbol等效符号?

hec6srdp  于 2022-12-30  发布在  Flutter
关注(0)|答案(3)|浏览(370)

我正在创建一个Flutter项目,我真的很喜欢使用SF符号(官方iOS图标)。我发现像flutter_icons这样的软件包可以让我们使用等价物。我想知道我是否可以在Android设备上使用它们,没有任何版权问题。谢谢:)

sxpgvts3

sxpgvts31#

是的,它们会很好地工作。实际上,有很多包可以用于此目的,比如flutter_sfsymbols。无论你在什么平台上测试应用,一旦你在代码中使用,它都会有相同的图标。作为在项目中使用此包的提醒,请尝试以下步骤:
1.打开pubspec.yaml,添加flutter_sfsymbols依赖项和所需字体(它们已经在包中,您只需将它们添加到pubspec文件中)(您的pubspec应该如下所示):

name: example
description: A new Flutter application.
version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

cupertino_icons: ^0.1.2
flutter_sfsymbols: ^1.0.0

dev_dependencies:
  flutter_test:
    sdk: flutter

flutter:

uses-material-design: true

fonts:

- family: sficonsets
  fonts:
    - asset: packages/flutter_sfsymbols/fonts/sficonsets.ttf

1.在终端中运行flutter pub get,或在IntelliJ或Android Studio中单击Packages get。
1.导入dart文件中的库(或尝试以下代码作为您的主. dart):

import 'package:flutter_sfsymbols/flutter_sfsymbols.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: DemoPage(),
    );
  }
}

class DemoPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Center(
      child: Container(
        color: Colors.grey,
        child: Icon(SFSymbols.airplane),
      ),
    ));
  }
}

1.运行应用程序。

    • 注:根据Xcode和Apple SDK许可协议中的定义,所有SF符号均应视为系统提供的图像,并受其中规定的条款和条件的约束。您不得在应用图标、徽标或任何其他与商标相关的用途中使用SF符号(或实质上相似或容易混淆的字形)。Apple保留审查并自行决定要求修改或停止使用违反上述限制的任何标志,并且您同意立即遵守任何此类要求。**
mznpcxlj

mznpcxlj2#

从Flutter 1.22开始,您可以直接在Flutter中使用SF符号。
仅添加到依赖项

cupertino_icons: ^1.0.0

然后你就明白了。例如:

import 'package:flutter/cupertino.dart';

GestureDetector(
  onTap: () {},
  child: Container(
    height: 28,
    width: 30,
    child: Center(
      child: Icon(
        CupertinoIcons.heart,
        size: 26,
      ),
    ),
  ),
),
kq4fsx7k

kq4fsx7k3#

这些资产可能可以在安卓系统上使用。但是,我对许可条款的理解是,你只能合法地将它们用于在苹果设备上运行的软件。我不是律师。但是,许可协议顶部的这一段对我来说似乎很清楚。
重要说明:Apple软件仅用于创建在Apple的iOS、iPadOS、macOS、tvOS或watchOS操作系统(如适用)上运行的软件产品中使用的用户界面,并受本文所述特定使用限制的约束。

相关问题