Làm cách nào để thay đổi biểu tượng trình khởi chạy ứng dụng trên Flutter?


193

Khi tôi tạo một ứng dụng bằng flutter createlệnh, logo rung được sử dụng làm biểu tượng ứng dụng cho cả hai nền tảng.

Nếu tôi muốn thay đổi biểu tượng ứng dụng, tôi có nên truy cập cả hai thư mục nền tảng và thay thế hình ảnh ở đó không?, Theo thư mục nền tảng tôi muốn nói myapp/ios/Runner/Assets.xcassets/AppIcon.appiconsetcho iOS và myapp/android/app/src/main/rescho Android.

Hoặc có thể định nghĩa một hình ảnh là Tài sản Flutter và các biểu tượng được tạo ra bằng cách nào đó?


bạn có thể cập nhật appicon bằng hai cách, tôi đã đề cập đến cả hai cách kiểm tra ở đây
Mayur Dabhi

Câu trả lời:


232

Biểu tượng Flutter Launcher đã được thiết kế để giúp nhanh chóng tạo các biểu tượng trình khởi chạy cho cả Android và iOS: https://pub.dartlang.org/packages/flutter_launcher_icons

  • Thêm gói vào tệp pubspec.yaml (trong dự án Flutter của bạn) để sử dụng nó
  • Trong tệp pubspec.yaml chỉ định đường dẫn của biểu tượng bạn muốn sử dụng cho ứng dụng và sau đó chọn xem bạn muốn sử dụng biểu tượng cho ứng dụng iOS, ứng dụng Android hay cả hai.
  • Chạy gói
  • Voila! Các biểu tượng trình khởi chạy mặc định hiện đã được thay thế bằng biểu tượng tùy chỉnh của bạn

Tôi hy vọng sẽ thêm video vào GitHub README để chứng minh điều đó

Video cho thấy làm thế nào để chạy công cụ có thể được tìm thấy ở đây .

Nếu bất cứ ai muốn đề xuất cải tiến / báo cáo lỗi, vui lòng thêm nó như một vấn đề trong dự án GitHub .

Cập nhật: Kể từ thứ tư ngày 24 tháng 1 năm 2018, bạn sẽ có thể tạo các biểu tượng mới mà không ghi đè các biểu tượng trình khởi chạy cũ hiện có trong dự án Flutter của bạn.

Cập nhật 2: Kể từ v0.4.0 (ngày 8 tháng 6 năm 2018), bạn có thể chỉ định một hình ảnh cho biểu tượng Android của mình và một hình ảnh riêng cho biểu tượng iOS của bạn.

Cập nhật 3: Kể từ v0.5.2 (ngày 20 tháng 6 năm 2018), giờ đây bạn có thể thêm các biểu tượng trình khởi chạy thích ứng cho ứng dụng Android của dự án Flutter của bạn


1
Có bất kỳ yêu cầu cho hình ảnh?
camino

1
Tôi chỉ tìm thấy một tài liệu tham khảo cho một kích thước 710x599,. Lý do cho việc lựa chọn đó là gì? Tôi đã có dự kiến 512x512hoặc 1000x1000hoặc một cái gì đó vuông anyway.
Suragch

1
@Suragch vừa thực hiện tìm kiếm nhanh một biểu tượng trên Google để tôi có thể nhanh chóng kiểm tra nó. Tôi đã bao gồm hai kích thước biểu tượng khác để mọi người có thể dùng thử gói (1024x1024 và 128x128), bạn có thể tìm thấy các kích thước này tại đây: github.com/fluttercommunity/flutter_launcher_icons/tree/master/iêu
Mark O'Sullivan

2
Tôi có thể đề xuất rằng các gói read.me nên cung cấp các đề xuất về kích thước hình ảnh.
Brett Sutton

1
Đây là một trong những điều tốt nhất tôi từng tìm thấy. Cảm ơn bạn!
trận đấu

132

Đặt biểu tượng trình khởi chạy như nhà phát triển bản địa

Tôi đã gặp một số khó khăn khi sử dụng và hiểu gói flutter_launcher_icons . Câu trả lời này là cách bạn sẽ làm điều đó nếu bạn đang tạo một ứng dụng cho Android hoặc iOS nguyên bản. Nó khá nhanh và dễ dàng một khi bạn đã thực hiện nó một vài lần.

Android

Các biểu tượng trình khởi chạy Android có cả lớp nền trước và lớp nền.

nhập mô tả hình ảnh ở đây

(hình ảnh được điều chỉnh từ tài liệu Android )

Cách dễ nhất để tạo biểu tượng trình khởi chạy cho Android là sử dụng Asset Studio có sẵn ngay trong Android Studio. Bạn thậm chí không phải rời khỏi dự án Flutter của mình. (Người dùng VS Code, bạn có thể cân nhắc sử dụng Android Studio chỉ cho bước này. Nó thực sự rất tiện lợi và không quen thuộc với IDE khác.)

Nhấp chuột phải vào androidthư mục trong phác thảo dự án. Chuyển đến Mới> Tài sản hình ảnh . (Thử nhấp chuột phải vào android/appthư mục nếu bạn không thấy Tài sản hình ảnh dưới dạng tùy chọn.) Bây giờ bạn có thể chọn một hình ảnh để tạo biểu tượng trình khởi chạy của mình từ đó.

Lưu ý: Tôi thường sử dụng 1024x1024hình ảnh pixel nhưng bạn chắc chắn không nên sử dụng cái gì nhỏ hơn 512x512. Nếu bạn đang sử dụng Gimp hoặc Inkscape, bạn nên có hai lớp, một cho nền trước và một cho nền. Hình ảnh nền trước phải có các vùng trong suốt để lớp nền hiển thị xuyên qua.

nhập mô tả hình ảnh ở đây

(sư tử clipart từ đây )

Điều này sẽ thay thế các biểu tượng launcher hiện tại. Bạn có thể tìm thấy các biểu tượng được tạo trong các mipmapthư mục:

Nếu bạn muốn tạo các biểu tượng trình khởi chạy thủ công, hãy xem câu trả lời này để được trợ giúp.

Cuối cùng, hãy đảm bảo rằng tên biểu tượng trình khởi chạy trong AndroidManifest giống với tên bạn đã gọi ở trên ( ic_launchertheo mặc định):

application android:icon="@mipmap/ic_launcher"

Chạy ứng dụng trong trình giả lập để xác nhận rằng biểu tượng trình khởi chạy đã được tạo thành công.

iOS

Tôi luôn sử dụng để thay đổi kích thước cá nhân các biểu tượng iOS của mình bằng tay, nhưng nếu bạn có máy Mac, có một ứng dụng miễn phí trong Mac App Store có tên là Icon Set Creator . Bạn cung cấp cho nó một hình ảnh (ít nhất là 1024x1024pixel) và nó sẽ nhổ ra tất cả các kích thước bạn cần (cộng với Contents.jsontệp). Nhờ câu trả lời này cho lời đề nghị.

Biểu tượng iOS không nên có bất kỳ sự minh bạch. Xem thêm hướng dẫn tại đây .

Sau khi bạn đã tạo bộ biểu tượng, hãy khởi động Xcode (giả sử bạn có máy Mac) và sử dụng nó để mở iosthư mục trong dự án Flutter của bạn. Sau đó, đi đến Runner> Assets.xcassets và xóa mục AppIcon.

nhập mô tả hình ảnh ở đây

Sau đó nhấp chuột phải và chọn Import ... . Chọn bộ biểu tượng mà bạn vừa tạo.

Đó là nó. Xác nhận rằng biểu tượng đã được tạo bằng cách chạy ứng dụng trong trình giả lập.

Nếu bạn không có máy Mac ...

Bạn vẫn có thể tạo tất cả các hình ảnh bằng tay. Trong dự án Flutter của bạn đi đến ios/Runner/Assets.xcassets/AppIcon.appiconset.

Kích thước hình ảnh mà bạn cần là kích thước nhân trong tên tệp. Ví dụ: Icon-App-29x29@3x.pngsẽ là 29thời gian 3, nghĩa là 87pixel vuông. Bạn cần phải giữ cùng tên biểu tượng hoặc chỉnh sửa tệp JSON.


1
nếu bạn đang vật lộn để hiểu nó, tôi rất vui lòng trả lời bất kỳ câu hỏi nào bạn có. Mở một vấn đề và tôi sẽ liên lạc lại với bạn về vấn đề đó: github.com/fluttercommunity/flutter_launcher_icons
Mark O'Sullivan

2
@ MarkO'Sullivan, cảm ơn bạn. Tôi đoán là gói là tốt. Nó chỉ là tài liệu rất khó để tôi làm theo. Ví dụ, kích thước để sử dụng cho hình ảnh ban đầu, là các lớp nền được tạo cho Android, v.v. Sẽ rất hữu ích khi có một hướng dẫn chi tiết để hướng dẫn người mới bắt đầu quá trình.
Suragch

Thay thế tốt cho gói, không chính thức, dường như không hoạt động nữa và đã không được cập nhật trong 6 tháng ...
Yann39

1
Điều này đã giúp. Trong Android Studio, không có tùy chọn để thêm Tài sản hình ảnh . Công việc xung quanh tôi học được từ một vấn đề github / flutter là mở thư mục / android (trong dự án flutter) như một dự án "Android" tiêu chuẩn trong Android Studio. Tùy chọn sẽ xuất hiện khi bạn nhấp chuột phải vào thư mục / res.
MwamiTovi

2
@MwamiTovi đã đúng, tuy nhiên, bạn cần đợi đồng bộ hóa lớp trước khi nhấp chuột phải hoặc thậm chí đồng bộ hóa thủ công, nếu không "mới -> nội dung hình ảnh" sẽ không hiển thị.
Daniel

108

Thực hiện theo các bước đơn giản:

  1. Thêm flutter_launcher_iconsPlugin vàopubspec.yaml

ví dụ

dev_dependencies: 
  flutter_test:
    sdk: flutter

  flutter_launcher_icons: "^0.6.1"

flutter_icons:
  image_path: "icon/icon.png" 
  android: true
  ios: true
  1. Chuẩn bị một biểu tượng ứng dụng cho đường dẫn đã chỉ định. e.g. icon/icon.png

  2. Thực thi lệnh trên thiết bị đầu cuối để tạo biểu tượng ứng dụng:

$ flutter pub get

$ flutter pub pub run flutter_launcher_icons:main

Để kiểm tra tất cả các tùy chọn khả dụng và để đặt các biểu tượng khác nhau cho Android và iOS, vui lòng tham khảo điều này

Hy vọng điều này sẽ giúp người khác.


4
Điều này làm việc cho tôi; chỉ một lần tôi chạy dòng cuối cùng đó flutter pub pub run flutter_launcher_icons:main. Cảm ơn vì tiền hỗ trợ!
olisteadman

3
Tôi gặp lỗi android.dart: 164: 25: Lỗi: Quá nhiều đối số vị trí: 1 được phép, nhưng tìm thấy 4.
ir2pid

Tôi có thể chuyển đổi biểu tượng nếu darkmode được kích hoạt?
Maximiliano Sosa


17

Tôi đã thay đổi nó trong các bước sau:

1) vui lòng thêm phụ thuộc này vào trang pubspec.yaml của bạn

 dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_launcher_icons: ^0.7.4

2) bạn phải tải lên một hình ảnh / biểu tượng trong dự án của bạn mà bạn muốn xem như một biểu tượng trình khởi chạy. (tôi đã tạo một tên thư mục: hình ảnh trong dự án của tôi sau đó tải lên logo.png trong thư mục hình ảnh). Bây giờ bạn phải thêm các mã dưới đây và dán đường dẫn hình ảnh của bạn trên image_path: trong trang pubspec.yaml.

flutter_icons:
  image_path: "images/logo.png"
  android: true
  ios: true

3) Đi đến thiết bị đầu cuối và thực hiện lệnh này:

flutter pub get

4) Sau khi thực hiện lệnh thì nhập lệnh bên dưới:

flutter pub run flutter_launcher_icons:main

5) Xong

NB: (tất nhiên thêm một phụ thuộc được cập nhật từ

https://pub.dev/packages/flutter_launcher_icons#-installing-tab-

)


17

Tôi sẽ đề nghị bạn sử dụng trang web này được liên kết dưới đây

Trình tạo biểu tượng ứng dụng

Bước 1: tải lên Hình ảnh,

Bước 2: Thực hiện các thay đổi cần thiết và nhấp vào tải xuống (không thay đổi tên tệp)

Bước 3: Giải nén tệp Zip đã tải xuống trong thư mục tương ứng

android/app/src/main/res

3
đề xuất này sẽ không giúp ích gì cho iOS
evals

2
giải pháp này hiệu quả với tôi (chỉ nhắm mục tiêu vào Android)
dark_ruby

1
Một giải pháp rất hay.
Mayank M.

4

Cách tốt nhất và được đề xuất để đặt Biểu tượng ứng dụng trong Flutter.

Tôi tìm thấy một plugin để đặt biểu tượng ứng dụng trong flutter có tên là flutter_launcher_icons. Chúng tôi sẽ sử dụng plugin này để đặt biểu tượng ứng dụng trong trạng thái rung.

  1. Thêm plugin này trong tệp pubspec.yaml trong thư mục gốc của dự án. Vui lòng kiểm tra mã bên dưới,

    phụ thuộc:
    flutter:
    sdk: flutter
    cupertino_icons: ^ 0.1.2
    flutter_launcher_icons: ^ 0.7.2 + 1

Lưu tập tin và chạy rung quán rượu trên thiết bị đầu cuối.

  1. Tạo một tài sản thư mục trong thư mục gốc của dự án trong tài sản thư mục cũng tạo một biểu tượng thư mục và đặt biểu tượng ứng dụng của bạn trong thư mục này. Tôi sẽ giới thiệu cho người dùng kích thước biểu tượng ứng dụng 1024x1024. Tôi đã đặt biểu tượng ứng dụng trong thư mục biểu tượng và bây giờ tôi có đường dẫn biểu tượng ứng dụng là tài sản / icon / icon.png

  2. Bây giờ, trong pubspec.yaml thêm mã dưới đây,

    flutter_icons:
    android: "launcher_icon"
    ios: true
    image_path: "Tài sản / biểu tượng / icon.png"

  3. Lưu tập tin và chạy rung quán rượu trên thiết bị đầu cuối. Sau khi chạy lệnh chạy lệnh thứ hai như dưới đây

    quán rượu rung chạy flutter_launcher_icons: main -f pubspec.yaml

Sau đó chạy ứng dụng


Mặc dù bạn đã trả lời cùng một câu trả lời đúng cũ, ít nhất bạn đã nhấn mạnh những điểm chính của điều đó.
Felipe Augusto

0

Cách tốt nhất là thay đổi các biểu tượng trình khởi chạy riêng cho cả iOS và Android.

Thay đổi các biểu tượng trong mô-đun iOS và Android riêng biệt. Plugin tạo các biểu tượng kích thước khác nhau từ cùng một biểu tượng bị biến dạng.

Theo liên kết sau: https://flutter.dev/docs/deployment/android


-4

bạn có thể đạt được điều này bằng cách sử dụng flutter_launcher_icons trong pubspec.yaml

một cách khác là sử dụng một cho Android và một cách khác cho iOS

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.