Come modificare l'icona di avvio dell'applicazione su Flutter?


200

Quando creo un'app con flutter createcomando, il logo flutter viene utilizzato come icona dell'applicazione per entrambe le piattaforme.

Se voglio cambiare l'icona dell'app, devo andare su entrambe le directory delle piattaforme e sostituire le immagini lì ?, con le directory delle piattaforme intendo myapp/ios/Runner/Assets.xcassets/AppIcon.appiconsetper iOS e myapp/android/app/src/main/resper Android.

Oppure è possibile definire un'immagine come un asset Flutter e le icone vengono generate in qualche modo?


puoi aggiornare Appicon in due modi, ho menzionato il controllo in entrambi i modi qui
Mayur Dabhi il

Risposte:


240

Flutter Launcher Icons è stato progettato per consentire di generare rapidamente icone di avvio sia per Android che per iOS: https://pub.dartlang.org/packages/flutter_launcher_icons

  • Aggiungi il pacchetto al tuo file pubspec.yaml (all'interno del tuo progetto Flutter) per usarlo
  • Nel file pubspec.yaml specificare il percorso dell'icona che si desidera utilizzare per l'app e quindi scegliere se si desidera utilizzare l'icona per l'app iOS, l'app Android o entrambe.
  • Esegui il pacchetto
  • Ecco! Le icone di avvio predefinite sono state ora sostituite con l'icona personalizzata

Spero di aggiungere un video al file README di GitHub per dimostrarlo

Il video che mostra come eseguire lo strumento è disponibile qui .

Se qualcuno vuole suggerire miglioramenti / segnalare bug, si prega di aggiungerlo come problema nel progetto GitHub .

Aggiornamento: a partire da mercoledì 24 gennaio 2018, dovresti essere in grado di creare nuove icone senza sovrascrivere le vecchie icone di avvio esistenti nel tuo progetto Flutter.

Aggiornamento 2: dalla v0.4.0 (8 giugno 2018) è possibile specificare un'immagine per l'icona Android e un'immagine separata per l'icona iOS.

Aggiornamento 3: A partire dalla versione 0.5.2 (20 giugno 2018) ora puoi aggiungere icone di avvio adattive per l'app Android del tuo progetto Flutter


1
C'è qualche requisito per l'immagine?
camino,

1
Ho trovato solo un riferimento ad una dimensione, 710x599. Qual è stato il motivo della scelta? Mi sarei aspettato 512x512o 1000x1000comunque qualcosa di quadrato.
Suragch,

1
@Suragch ha appena fatto una rapida ricerca di un'icona su Google per poterla testare rapidamente. Ho incluso altre due dimensioni dell'icona in modo che le persone potessero provare il pacchetto (1024x1024 e 128x128), puoi trovarle qui: github.com/fluttercommunity/flutter_launcher_icons/tree/master/…
Mark O'Sullivan

3
Posso suggerire che i pacchetti read.me dovrebbero fornire consigli sulle dimensioni delle immagini.
Brett Sutton,

1
Questa è una delle cose migliori che abbia mai trovato. Grazie amico!
besil

135

Impostazione delle icone di avvio come uno sviluppatore nativo

Ho riscontrato dei problemi nell'uso e nella comprensione del pacchetto flutter_launcher_icons . Questa risposta è come lo faresti se creassi un'app per Android o iOS in modo nativo. È abbastanza veloce e facile dopo averlo fatto alcune volte.

androide

Le icone di avvio di Android hanno sia un livello in primo piano che uno sfondo.

inserisci qui la descrizione dell'immagine

(immagine adattata dalla documentazione di Android )

Il modo più semplice per creare icone di avvio per Android è utilizzare Asset Studio che è disponibile direttamente in Android Studio. Non devi nemmeno lasciare il tuo progetto Flutter. (Utenti VS Code, potresti prendere in considerazione l'utilizzo di Android Studio solo per questo passaggio. È davvero molto conveniente e non fa male avere familiarità con un altro IDE.)

Fare clic con il tasto destro sulla androidcartella nella struttura del progetto. Vai a Nuovo> Asset immagine . (Prova a fare clic con il pulsante destro del mouse sulla android/appcartella se non vedi Asset immagine come opzione.) Ora puoi selezionare un'immagine da cui creare l'icona di avvio.

Nota: di solito utilizzo 1024x1024un'immagine pixel, ma di certo non dovresti usare nulla di più piccolo 512x512. Se stai usando Gimp o Inkscape, dovresti avere due livelli, uno per il primo piano e uno per lo sfondo. L'immagine in primo piano dovrebbe avere aree trasparenti per il livello di sfondo da mostrare.

inserisci qui la descrizione dell'immagine

(clipart leone da qui )

Ciò sostituirà le icone di avvio correnti. Puoi trovare le icone generate nelle mipmapcartelle:

Se preferisci creare manualmente le icone di avvio, consulta questa risposta per assistenza.

Infine, assicurati che il nome dell'icona di avvio in AndroidManifest sia lo stesso di quello che hai chiamato sopra ( ic_launcherper impostazione predefinita):

application android:icon="@mipmap/ic_launcher"

Esegui l'app nell'emulatore per confermare che l'icona di avvio è stata creata correttamente.

iOS

Ho sempre usato per ridimensionare manualmente le mie icone iOS a mano, ma se hai un Mac, c'è un'app gratuita nel Mac App Store chiamata Icon Set Creator . Gli dai un'immagine (di almeno 1024x1024pixel) e sputerà tutte le dimensioni di cui hai bisogno (più il Contents.jsonfile). Grazie a questa risposta per il suggerimento.

Le icone iOS non dovrebbero avere alcuna trasparenza. Vedi più linee guida qui .

Dopo aver creato il set di icone, avvia Xcode (supponendo che tu abbia un Mac) e utilizzalo per aprire la ioscartella nel tuo progetto Flutter. Quindi vai su Runner> Assets.xcassets ed elimina l'elemento AppIcon.

inserisci qui la descrizione dell'immagine

Dopo di che il tasto destro del mouse e scegliere Importa ... . Scegli il set di icone che hai appena creato.

Questo è tutto. Conferma che l'icona è stata creata eseguendo l'app nel simulatore.

Se non hai un Mac ...

Puoi comunque creare tutte le immagini a mano. Nel tuo progetto Flutter vai a ios/Runner/Assets.xcassets/AppIcon.appiconset.

Le dimensioni dell'immagine necessarie sono le dimensioni moltiplicate nel nome file. Ad esempio, Icon-App-29x29@3x.pngsarebbero 29tempi 3, cioè 87pixel quadrati. È necessario mantenere gli stessi nomi di icone o modificare il file JSON.


1
se stavi faticando a capirlo, sono felice di rispondere a tutte le tue domande. Apri un problema e ti risponderò a riguardo: github.com/fluttercommunity/flutter_launcher_icons
Mark O'Sullivan,

2
@ MarkO'Sullivan, grazie. La mia ipotesi è che il pacchetto vada bene. È solo che la documentazione era difficile da seguire per me. Ad esempio, quali dimensioni utilizzare per l'immagine iniziale, sono i livelli di sfondo che vengono creati per Android, ecc. Sarebbe davvero utile avere un tutorial dettagliato per guidare un principiante attraverso il processo.
Suragch,

Una buona alternativa al pacchetto, che non è ufficiale, sembra non funzionare più e non è stata aggiornata per 6 mesi ...
Yann39

1
Questo ha aiutato. All'interno di Android Studio non è disponibile alcuna opzione per aggiungere Image Asset . Il lavoro intorno a cui ho imparato da un problema github / flutter è quello di aprire la cartella / android (all'interno del progetto flutter) come un solo progetto "Android" standard all'interno di Android Studio. L'opzione apparirà quando si fa clic con il tasto destro sulla cartella / res.
MwamiTovi il

2
@MwamiTovi ha ragione, tuttavia è necessario attendere la sincronizzazione graduale prima di fare clic con il tasto destro del mouse o addirittura sincronizzarla manualmente, altrimenti "nuovo -> asset immagine" non verrà visualizzato.
Daniel,

111

Segui semplici passaggi:

  1. Aggiungi flutter_launcher_iconsplug-in apubspec.yaml

per esempio

dev_dependencies: 
  flutter_test:
    sdk: flutter

  flutter_launcher_icons: ^0.7.5

flutter_icons:
  image_path: "icon/icon.png" 
  android: true
  ios: true
  1. Prepara un'icona dell'app per il percorso specificato. e.g. icon/icon.png

  2. Esegui il comando sul terminale per creare le icone delle app:

$ flutter pub get

$ flutter pub run flutter_launcher_icons:main

Per controllare controlla tutte le opzioni disponibili e per impostare icone diverse per Android e iOS fai riferimento a questo

Spero che questa volontà aiuti gli altri.


4
Questo ha funzionato per me; solo una volta avrei eseguito l'ultima riga flutter pub pub run flutter_launcher_icons:main. Grazie per il consiglio!
Olisteadman,

3
Ottengo errori android.dart: 164: 25: Errore: troppi argomenti posizionali: 1 consentito, ma 4 trovati.
ir2pid,

Posso cambiare icona se darkmode è attivato?
Maximiliano Sosa,

1
@ ir2pid per risolvere l'errore è necessario aggiornare la versione come flutter_launcher_icons: 0.7.5
Gökçer Gökdal

Solo una domanda curiosa: perché pub pubinvece di pub?
ch271828n


19

Vorrei suggerire di utilizzare questo sito Web collegato di seguito

Creatore icona app

Passaggio 1: carica l'immagine,

Step-2: Apporta le modifiche necessarie e fai clic su Download (non modificare il nome del file)

Passaggio 3: estrarre il file zip scaricato nella rispettiva cartella

android/app/src/main/res

3
questo suggerimento non aiuterà in IOS
valutazione il

2
questa soluzione ha funzionato per me (solo per Android)
dark_ruby

1
Una soluzione molto bella.
Mayank M.

17

L'ho modificato nei seguenti passaggi:

1) aggiungi questa dipendenza nella tua pagina pubspec.yaml

 dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_launcher_icons: ^0.7.4

2) devi caricare un'immagine / icona sul tuo progetto che vuoi vedere come icona di avvio. (ho creato un nome per la cartella: immagine nel mio progetto, quindi carica il logo.png nella cartella delle immagini). Ora devi aggiungere i seguenti codici e incollare il percorso dell'immagine su image_path: nella pagina pubspec.yaml.

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

3) Vai al terminale ed esegui questo comando:

flutter pub get

4) Dopo aver eseguito il comando, immettere il comando seguente:

flutter pub run flutter_launcher_icons:main

5) Fatto

NB: (ovviamente aggiungere una dipendenza aggiornata da

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

)


4

Modo migliore e consigliato per impostare l'icona dell'app in Flutter.

Ho trovato un plug-in per impostare l'icona dell'app in un flutter chiamato "flutter_launcher_icons". Useremo questo plugin per impostare l'icona dell'app in un flutter.

  1. Aggiungi questo plugin nel file pubspec.yaml nella directory principale del progetto. Si prega di controllare sotto il codice,

    dipendenze:
    flutter:
    sdk: flutter
    cupertino_icons: ^ 0.1.2
    flutter_launcher_icons: ^ 0.7.2 + 1

Salvare il file ed eseguire flutter pub salire sul terminale.

  1. Crea risorse di una cartella nella radice del progetto nelle risorse di cartelle, crea anche un'icona di cartella e posiziona l'icona dell'app all'interno di questa cartella. Consiglierò all'utente la dimensione dell'icona dell'app 1024x1024. Ho inserito l'icona dell'app nella cartella delle icone e ora ho il percorso dell'icona dell'app come assets / icon / icon.png

  2. Ora, in pubspec.yaml aggiungi il codice seguente,

    flutter_icons:
    android: "launcher_icon"
    ios: true
    percorso_immagine: "assets / icon / icon.png"

  3. Salvare il file ed eseguire flutter pub salire sul terminale. Dopo aver eseguito il comando, eseguire il secondo comando come di seguito

    flutter pub run flutter_launcher_icons: main -f pubspec.yaml

Quindi eseguire l'app


Sebbene tu abbia risposto alla stessa vecchia risposta corretta, almeno hai evidenziato i punti principali di ciò.
Felipe Augusto,

0

Il modo migliore è cambiare le icone di avvio separatamente sia per iOS che per Android.

Cambia le icone nel modulo iOS e Android separatamente. Il plug-in produce icone di dimensioni diverse dalla stessa icona che sono distorte.

Segui questo link: https://flutter.dev/docs/deployment/android


-5

puoi farlo usando flutter_launcher_icons in pubspec.yaml

un altro modo è quello di usarne uno per Android e un altro per iOS

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.