我们可以在 flutter 项目的 Android 设备上使用等效的 SF Symbol 吗?
Can we use equivalent of SF Symbol on Android device in flutter project?
我正在创建一个 Flutter 项目,我非常喜欢使用 SF Symbol(官方 iOS 图标)。我发现像 flutter_icons
这样的包允许我们使用等价物。我想知道我是否可以在 Android 设备上使用它们,而没有任何版权问题。
谢谢:)
是的,它们会很好地工作。实际上有很多包可以用于此目的,例如 flutter_sfsymbols。无论您在哪个平台上测试您的应用程序,一旦您在代码中使用,它都会有相同的图标。作为在您的项目中使用此包的提醒,请尝试以下步骤:
打开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
运行 flutter pub 在终端中获取,或者在 IntelliJ 或 Android Studio 中点击 Packages 获取。
在您的 dart 文件中导入库(或尝试下面的代码作为您的 main.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),
),
));
}
}
运行 应用程序。
注意:所有 SF Symbols 均应视为系统提供的图像,如 Xcode 和 Apple SDK 许可协议中所定义,并受其中规定的条款和条件的约束。您不得在您的应用程序图标、徽标或任何其他与商标相关的用途中使用 SF 符号或实质上相似或混淆性相似的字形。 Apple 保留审查并自行决定要求修改或停止使用任何违反上述限制的符号的权利,您同意立即遵守任何此类要求。
从 Flutter 1.22 开始,您可以直接在 Flutter 中使用 SF Symbols。
添加到依赖项即可
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,
),
),
),
),
我正在创建一个 Flutter 项目,我非常喜欢使用 SF Symbol(官方 iOS 图标)。我发现像 flutter_icons
这样的包允许我们使用等价物。我想知道我是否可以在 Android 设备上使用它们,而没有任何版权问题。
谢谢:)
是的,它们会很好地工作。实际上有很多包可以用于此目的,例如 flutter_sfsymbols。无论您在哪个平台上测试您的应用程序,一旦您在代码中使用,它都会有相同的图标。作为在您的项目中使用此包的提醒,请尝试以下步骤:
打开
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
运行 flutter pub 在终端中获取,或者在 IntelliJ 或 Android Studio 中点击 Packages 获取。
在您的 dart 文件中导入库(或尝试下面的代码作为您的 main.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), ), )); } }
运行 应用程序。
注意:所有 SF Symbols 均应视为系统提供的图像,如 Xcode 和 Apple SDK 许可协议中所定义,并受其中规定的条款和条件的约束。您不得在您的应用程序图标、徽标或任何其他与商标相关的用途中使用 SF 符号或实质上相似或混淆性相似的字形。 Apple 保留审查并自行决定要求修改或停止使用任何违反上述限制的符号的权利,您同意立即遵守任何此类要求。
从 Flutter 1.22 开始,您可以直接在 Flutter 中使用 SF Symbols。
添加到依赖项即可
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,
),
),
),
),