React Nativeアプリにアイコンを追加する方法


271

React Nativeアプリを作成しています。アプリのアイコン(アプリを起動するためにクリックするアイコン)をカスタマイズしたいと思います。私はこれをグーグルで検索しましたが、さまざまなものを参照するさまざまなタイプのアイコンを探し続けています。これらのタイプのアイコンをアプリに追加するにはどうすればよいですか?


これはiOS、Android、またはその両方ですか?
rmevans9 2015

3
現在はios用ですが、最終的には両方に
Adam Katz

この回答も参照してください:stackoverflow.com/a/11845815/5576491
PallavBakshi

回答:


427

iOSアイコン

  • で設定AppIconImages.xcassetsます。
  • 9つの異なるサイズのアイコンを追加します。
    • 29pt
    • 29pt*2
    • 29pt*3
    • 40pt*2
    • 40pt*3
    • 57pt
    • 57pt*2
    • 60pt*2
    • 60pt*3

Images.xcassets このようになります:

Androidアイコン

  • ic_launcher.pngフォルダに入れます[ProjectDirectory]/android/app/src/main/res/mipmap-*/
    • 72 * 72 ic_launcher.pngの中でmipmap-hdpi
    • 48 * 48 ic_launcher.pngの中でmipmap-mdpi
    • 96 * 96 ic_launcher.pngの中でmipmap-xhdpi
    • 144 * 144 ic_launcher.pngの中でmipmap-xxhdpi
    • 192 * 192 ic_launcher.pngの中でmipmap-xxxhdpi

2019 Androidを更新

反応ネイティブの最新バージョンも丸いアイコンをサポートしています。この特定のケースでは、2つの選択肢があります。

A.丸いアイコンを追加する: 各ミップマップフォルダーで、同じサイズでic_launcher.png呼び出される丸いバージョンもファイルに追加しますic_launcher_round.png

B.丸いアイコンを削除する: 内側yourProjectFolder/android/app/src/main/AndroidManifest.xmlで線android:roundIcon="@mipmap/ic_launcher_round"を削除して保存します。

それ以外の場合、ビルドはエラーをスローします。


2
@ adam-katz、これは本当に受け入れられる答えになるはずです。
Jason Wiener

2
反応ネイティブで直接両方のために作る方法はありますか?
jose920405 2016

2
この素晴らしい答えを更新するだけです。iOSのiPadProには83.5pt * 2も必要です。
Randy Coulman 2016年

4
私は、単一のアイコンファイルからリアクションネイティブアプリのアイコンを自動的に生成するジェネレーターを作成しました:)他の人を助けることができることを願っています!(この回答を参照)
Almouro

5
これは、reactネイティブドキュメントのどこにありますか?
GONeale 2017年

296

単一のアイコンファイルからリアクションネイティブアプリのアイコン自動的に生成するジェネレーターを作成しました。アセットを生成し、iOSおよびAndroidプロジェクトに正しく追加します。

アップデート(2019年4月9日)

ジェネレーターを刷新して、エコシステムの基準に合わせて最新の状態にしました。これで@ bam.tech / react-native-makeを使用できます。

次を使用してインストールできます:yarn add @bam.tech/react-native-make反応ネイティブプロジェクト

するためにそれを使用します react-native set-icon --path <path_to_png> --background <icon_background_color> --platform <android|ios>

以上です!他の人にも役立つことを願っています:)

推奨事項:

以前のツールに対するいくつかの改善点は次のとおりです:🥳

  • Yeomanへの依存関係はありません。react-native-cliプラグインになりました
  • Image Magickに依存しない
  • Android用のアダプティブアイコンを作成します
  • iOSに不足しているアイコンサイズを追加

7
これは受け入れられる答えになるはずです。時間を大幅に節約できます。アプリ開発者として、私たちはiOSとAndroidが必要とするアイコンの数を本当に気にしません。網膜か網膜でないか、大画面か小画面か、誰が気にする?正確で同じアイコンを私に教えてください、それだけです!ありがとうございます。他のツールも試してみたいと思います。:)
張バズ

4
問題が見つかりました:image-magickをインストールするときは、必ずconvertコマンドが存在するようにレガシーツールをインストールしてください。
リック・ラブ

2
@RickLoveでimagemagickをインストールした後もこの問題がありましたyarn -g add imagemagick。次に、homebrew代わりに(brew install imagemagick)を使用してインストールしました。これにより、必要なものがすべてインストールされ、機能しました。
BeniaminoBaggins 2017

1
:Rubyのための必要:)すべての要件はここにある@PolaEdwardないgithub.com/bamlab/generator-rn-toolbox/blob/master/generators/...
Almouro

1
それは非常に役に立ちましたが、とにかく丸いアイコンを追加することはありますか?これらのライブラリは、Androidの通常のアイコンを追加するだけです。もう一度ありがとう
アマス

31

サービスを使用してアイコンを正しくスケーリングします。http://makeappicon.com/は良いようです。小さい画像を拡大すると、大きいアイコンがピクセル化される可能性があるため、大きいサイズの画像を使用します。そのサイトは、iOSとAndroidの両方のサイズを提供します。

そこからは、通常のネイティブアプリと同じようにアイコンを設定するだけです。

https://help.apple.com/xcode/mac/8.0/#/dev10510b1f7

Androidアプリケーションのアイコンを設定


1
Appleリンクが壊れています、@ rmevans9。:(
アダムKディーン

1
このサービスは、アプリ名、アプリの市場カテゴリなど、ユーザーに関する情報を収集し、メールアドレスが提供されない限り、画像のダウンロードを防止します。
tfmontague

私はこの回答を読みました。しばらくしてから、以下のAlmouroの回答を読んでください。アルモロの答えから始めたいと思います。
ヨッシ

23

このガイのアドバイスに従ってAndroid Asset Studioを使用することで、反応ネイティブのAndroidプロジェクトにアプリアイコンを追加できました

これは、リンクが切れた場合に備えて書き起こされたものです。

React-Native Androidでアプリケーションアイコンをアップロードする方法

1)画像をAndroid Asset Studioにアップロードします。適用するエフェクトをすべて選択します。ツールがzipファイルを生成します。ダウンロード.Zipをクリックします。

2)マシンでファイルを解凍します。次に、目的の画像を/android/app/src/main/res/フォルダにドラッグします。各画像を適切なサブフォルダに配置してくださいmipmap-{hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi}.

android / app / src / main / res

3)(最初に行ったように)単純にフォルダ全体をresフォルダにドラッグアンドドロップしないでください。あなたがあなたの/res/values/{strings,styles}.xmlファイルを完全に削除しているかもしれないので。


9

誰かがこのタスクのためだけに非常に使いやすいツールを作成しました:https : //www.npmjs.com/package/app-icon

このシンプルなツールを使用すると、反応ネイティブプロジェクトに単一のアイコンを作成し、そこから必要なすべてのサイズのアイコンを作成できます。現在、iOSおよびAndroidで動作します。

私はそれを使いました。512x512 pngを作成し、そのツールとブームを実行しました。超簡単。


1
PS:react-native-iconは非推奨としてマークされ、app-iconに名前が変更されました。npmjs.com/package/app-icon
Eirik H

8

少し遅れましたが、Android Studioには非常に便利なアイコンアセットウィザードがあります。非常に自明ですが、いくつかの便利な効果とその組み込み機能があります。

ここに画像の説明を入力してください


Android Studioでネイティブプロジェクトをビルドしますか?
Adam Katz

1
いいえ、でも何らかの理由で定期的に開く必要があります。XCodeと同じ-最終的に反対側に渡る必要があります。これは私が数秒で高品質のアイコンセットを生成するために使用する方法です。地獄-私は自分のオープンソースプロジェクトを所有しており、モバイルアプリのアイコンを生成しています。それでもこの方法を好みます。npmjs.com/package/cordova-media-generator
Ryan Knell

これは素晴らしかった-それはまた私が非常に役立つとわかったアイコンをきれいにした(この答えのように!)。
ビラルアキル2018

鮮やかさ!良いですね!
barrylachapelle

6

Rockvicが言ったように、iOSとAndroidには異なるサイズのアイコンが必要です。また、興味のある方は、このサイトでサイズの異なるアイコンを生成することをお勧めします。何もダウンロードする必要はなく、完全に機能します。

https://resizeappicon.com/

それが役に立てば幸い。




-2

プロジェクトにアイコンをインポートするには、react-native-vector-iconsを使用することをお勧めします。ベクトルアイコンを使用するので、アイコンのスケーリング側でそれほど心配する必要はありません。パッケージを使用している間、fontawesome、ioniconsなどの一般的なアイコンセットをすべて使用できます。

これらのアイコンセットの他に、アイコンをttfファイルとしてパックすることで、独自のアイコンも反応ネイティブプロジェクトに取り込むことができ、そのttfをandroidプロジェクトとiosプロジェクトの両方に直接インポートできます。同じreact-native-vector-iconsライブラリを使用して、これらのアイコンを管理できます

カスタムアイコンを設定する詳細な手順は次のとおりです

https://medium.com/bam-tech/add-custom-icons-to-your-react-native-application-f039c244386c


-5

react-native-elementsをインポートし、font-awesomeアイコンを使用して、reactネイティブアプリを使用できます。

インストール

npm install --save react-native-elements

次に、アイコンを使用する場所にインポートします

import { Icon } from 'react-native-elements'

好きに使う

render() {
   return(
    <Icon
      reverse
      name='ios-american-football'
      type='ionicon'
      color='#517fa4'
    />
 );
}

名前を次のように指定しているので、Androidのアイコンをどのように追加できますios-american-footballか?または、この構文でiosをandroidに置き換えることができますか?
ganeshdeshmukh

これは元の質問には対応していません。
SoluableNonagon

投稿はランチャーアイコンに関するもので、react-native-elementsとは何の関係もありません。ライブラリはアプリ内アイコン専用です。
Celestial
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.