当我使用flutter create命令创建应用程序时,flutter标志将用作两个平台的应用程序图标。
如果我想改变应用程序的图标,我是否应该去两个平台的目录并替换那里的图像?我说的平台目录是myapp/ios/Runner/Assets.xcassets/AppIcon。apppiconset用于iOS, myapp/android/app/src/main/res用于android。
或者可以将图像定义为颤振资产和图标以某种方式生成?
当我使用flutter create命令创建应用程序时,flutter标志将用作两个平台的应用程序图标。
如果我想改变应用程序的图标,我是否应该去两个平台的目录并替换那里的图像?我说的平台目录是myapp/ios/Runner/Assets.xcassets/AppIcon。apppiconset用于iOS, myapp/android/app/src/main/res用于android。
或者可以将图像定义为颤振资产和图标以某种方式生成?
当前回答
flutter_launcher_icons: ^ 0.11.0
将此添加到你的pubspec中。yaml文件
dev_dependencies:
flutter_launcher_icons: "^0.11.0"
flutter_icons:
android: "launcher_icon"
ios: true
image_path: "assets/icon/icon.png"
min_sdk_android: 21 # android min sdk min:16, default 21
# optionally, as transparency is not allowed on app store
# remove_alpha_ios: true
添加后,运行以下命令
$颤振酒吧得到
$ flutter pub运行flutter_launcher_icons:main
其他回答
像本地开发人员一样设置启动器图标
我在使用和理解flutter_launcher_icons包时遇到了一些麻烦。如果你是面向Android或iOS平台创造应用,你将如何做到这一点。一旦你做过几次,这是非常快速和简单的。
安卓
Android启动器图标有前景层和背景层。
(图片来自Android文档)
为Android创建启动器图标最简单的方法是使用Android Studio中提供的Asset Studio。你甚至不需要离开颤振项目。(VS Code用户,在这一步你可以考虑使用Android Studio。这真的非常方便,熟悉另一个IDE也无妨。)
右键单击项目大纲中的android文件夹。进入新建>图像资产。(尝试右键单击android/app文件夹,如果你没有看到图像资产作为一个选项。更多建议请参见下面的评论。)现在你可以选择一个图像来创建你的启动器图标。
注意:我通常使用1024x1024像素的图像,但你当然应该这样做 不要使用比512x512更小的东西。如果你正在使用Gimp或Inkscape,你 应该有两个图层,一个为前景,一个为 背景。前景图像应该有透明的区域 背景层显示通过。
(这里的狮子剪纸)
这将取代当前的启动器图标。你可以在mipmap文件夹中找到生成的图标:
如果您希望手动创建启动器图标,请参阅此回答以获得帮助。
最后,确保AndroidManifest中的启动器图标名称与上面所调用的相同(默认为ic_launcher):
application android:icon="@mipmap/ic_launcher"
在模拟器中运行应用程序,确认启动器图标已成功创建。
iOS
我以前总是手动调整iOS图标的大小,但如果你用的是Mac, Mac应用商店里有一个免费的应用程序,叫做Icon Set Creator。你给它一个图像(至少1024x1024像素),它会吐出你需要的所有大小(加上内容)。json文件)。感谢你对建议的回答。
iOS图标不应该有任何透明度。点击这里查看更多指南。
创建图标集后,启动Xcode(假设你有一台Mac),并使用它打开Flutter项目中的ios文件夹。然后转到Runner > Assets。xcassets并删除AppIcon项。
然后右键单击并选择Import....选择刚才创建的图标集。
就是这样。确认图标是通过在模拟器中运行应用程序创建的。
如果你没有Mac…
您仍然可以手工创建所有图像。在Flutter项目中,转到ios/Runner/Assets.xcassets/AppIcon.appiconset。
您需要的图像大小是文件名中的大小相乘。例如,Icon-App-29x29@3x.png将是29乘以3,即87像素的平方。您需要保持相同的图标名称,或者编辑JSON文件。
您必须将Flutter图标文件替换为您自己的图像。这个网站将帮助你把你的png转换成各种大小的启动器图标:
https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html
Flutter Launcher Icons已设计用于帮助快速生成Android和iOS的启动器图标:https://pub.dartlang.org/packages/flutter_launcher_icons
将包添加到您的pubspec中。yaml文件(在Flutter项目中)来使用它 pubspec之内。yaml文件指定图标的路径,你希望使用的应用程序,然后选择是否要使用图标的iOS应用程序,Android应用程序或两者。 运行包 瞧!默认的启动器图标现在已经替换为您的自定义图标
我希望在GitHub README中添加一个视频来演示它
演示如何运行该工具的视频可以在这里找到。
如果有人想提出改进建议/报告错误,请将其作为一个问题添加到GitHub项目中。
更新:截至2018年1月24日星期三,您应该能够创建新的图标,而不覆盖颤振项目中旧的现有启动器图标。
更新2:从v0.4.0(2018年6月8日)开始,你可以为Android图标指定一个图像,为iOS图标指定一个单独的图像。
更新3:截至v0.5.2(2018年6月20日),您现在可以为您的Flutter项目的Android应用程序添加自适应启动器图标
试试IconKitchen吧,它是Android Asset Studio的继承者,是为Android、iOS和网页制作高度自定义应用图标的绝佳新方法。
遵循以下步骤:-
1. 在pubspec中添加flutter_luncher_icons的依赖项。yaml文件。你可以在这里找到这个插件。
2. 在资产文件夹和pubspec中添加所需的图像。Yaml文件如下。
pubspec.yaml
name: NewsApi.org
description: A new Flutter application.
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.1
fluttertoast: ^7.1.6
toast: ^0.1.5
flutter_launcher_icons: ^0.8.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter_icons:
image_path: "assets/icon/newsicon.png"
android: true
ios: false
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
assets:
- assets/images/dropbox.png
fonts:
- family: LangerReguler
fonts:
- asset: assets/langer_reguler.ttf
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
3.执行terminal flutter pub get命令,然后执行flutter_luncher_icon命令。这是成功运行命令后得到的结果。并成功生成了午餐图标。
我的终端
[E:\AndroidStudioProjects\FlutterProject\NewsFlutter\news_flutter>flutter pub get
Running "flutter pub get" in news_flutter... 881ms
E:\AndroidStudioProjects\FlutterProject\NewsFlutter\news_flutter>flutter pub run flutter_launcher_icons:main
════════════════════════════════════════════
FLUTTER LAUNCHER ICONS (v0.8.0)
════════════════════════════════════════════
• Creating default icons Android
• Overwriting the default Android launcher icon with a new icon
✓ Successfully generated launcher icons