React Native uygulamasına simgeler nasıl eklenir


271

React Native uygulaması yapıyorum. Uygulama simgesini özelleştirmek istiyorum (uygulamayı başlatmak için tıkladığınız simge). Bunu Google'da aradım, ancak farklı şeyleri ifade eden farklı simge türleri bulmaya devam ediyorum. Bu tür simgeleri uygulamaya nasıl eklerim?


Bu iOS, Android veya her ikisi için mi?
17:15

3
şimdi ios için ama sonunda her ikisi için
Adam Katz

Yanıtlar:


427

iOS Simgeleri

  • Set AppIconiçinde Images.xcassets.
  • 9 farklı boyut simgesi ekleyin:
    • 29pt
    • 29pt*2
    • 29pt*3
    • 40pt*2
    • 40pt*3
    • 57pt
    • 57pt*2
    • 60pt*2
    • 60pt*3.

Images.xcassets şöyle görünecek:

Android Simgeleri

  • ic_launcher.pngKlasörleri koyun [ProjectDirectory]/android/app/src/main/res/mipmap-*/.
    • 72 * 72 ic_launcher.pngyılında mipmap-hdpi.
    • 48 * 48 ic_launcher.pngyılında mipmap-mdpi.
    • 96 * 96 ic_launcher.pngyılında mipmap-xhdpi.
    • 144 * 144 ic_launcher.pngyılında mipmap-xxhdpi.
    • 192 * 192 ic_launcher.pngyılında mipmap-xxxhdpi.

2019 Android'i Güncelle

Tepki yerel son sürümleri de yuvarlak simge destekler. Bu özel durum için iki seçeneğiniz vardır:

A. Yuvarlak simgeler ekleyin: Her mipmap klasörüne, ic_launcher.pngdosyaya ek olarak ic_launcher_round.pngaynı boyutta adlandırılan yuvarlak bir sürüm ekleyin .

B. Yuvarlak simgeleriyourProjectFolder/android/app/src/main/AndroidManifest.xml kaldırın : İçeride çizgiyi kaldırın android:roundIcon="@mipmap/ic_launcher_round"ve kaydedin.

Aksi takdirde yapı bir hata atar.


2
@ adam-katz, bu gerçekten kabul edilen cevap olmalı.
Jason Wiener

2
Her ikisini de doğrudan reaksiyona özgü olarak yapmak için herhangi bir yol var mı?
jose920405

2
Sadece bu harika cevabı güncellemek için. Ayrıca iOS'taki iPadPro için 83.5pt * 2'ye ihtiyacınız var.
Randy Coulman

4
Otomatik olarak tek bir simge dosyasından tepki yerli uygulama için simgeler oluşturmak için bir jeneratör yazdım :) Umarım başkalarına yardımcı olabilir! ( Bu cevaba bakınız )
Almouro

5
Tepki yerel belgelerinde bu nerededir?
17'de GONeale

296

Tepki yerel uygulamanız için otomatik olarak tek bir simge dosyasından simgeler oluşturmak için bir jeneratör yazdım . Varlıklarınızı oluşturur ve bunları ios ve android projenize doğru bir şekilde ekler:

Güncelleme (04/09/2019)

Jeneratörümüzü ekosistem standartlarına uygun olarak yeniledik. Artık @ bam.tech / tepki-native-make kullanabilirsiniz .

Sen edebilirsiniz kurun kullanarak: yarn add @bam.tech/react-native-makeProjeyi yerli tepki de

Kullanmak için react-native set-icon --path <path_to_png> --background <icon_background_color> --platform <android|ios>

Ve bu kadar! Umarım diğerleri için faydalı olabilir :)

öneriler:

Önceki araçla ilgili bazı iyileştirmeler şunlardır : 🥳

  • Yeoman bağımlılığı yok, şimdi bir tepki-yerli-cli eklentisi
  • Image Magick bağımlılığı yok
  • Android için Uyarlanabilir simgeler oluşturur
  • İOS için eksik simge boyutları ekler

7
Bu kabul edilen cevap olmalı. Bana çok zaman kazandırıyorsun! Uygulama geliştiricileri olarak, iOS ve Android'in kaç simgeye ihtiyacı olduğunu gerçekten umursamıyoruz, 9 simge ve 4 simgenin hepsi aynı içeriğe sahip, kimin umurunda? Retina için veya retina için, büyük veya küçük ekran için kimin umurunda? Bana tam olarak açık ve aynı simgeleri ver, hepsi bu! Teşekkürler ve diğer araçlarınızı denemek istiyorum. :)
Zhang Buzz

4
Sorunu buldum: image-magick'i yüklerken, convertkomutun mevcut olması için eski araçları yüklediğinizden emin olun .
Rick Love

2
@RickLove Ayrıca imagemagick ile yükledikten sonra bu sorunu vardı yarn -g add imagemagick. Daha sonra gerekli her şeyi yükleyen ve çalışan homebrewbunun yerine ( brew install imagemagick) kullanarak yükledim.
BeniaminoBaggins

1
@PolaEdward Ruby'ye gerek yok :) Tüm gereksinimler burada: github.com/bamlab/generator-rn-toolbox/blob/master/generators/…
Almouro

1
çok yardımcı oldu, ama yine de yuvarlak simgeler eklemek için var mı? bu kütüphane sadece android için normal simgeler ekler. tekrar teşekkür ederim
Amas

31

Simgeyi doğru şekilde ölçeklemek için bir hizmet kullanırdım. http://makeappicon.com/ iyi görünüyor. Daha küçük bir görüntüyü büyütmek, daha büyük simgelerin pikselleştirilmesine neden olabileceğinden, daha büyük boyutta bir görüntü kullanın. Bu site size hem iOS hem de Android için boyutlar verecek.

Oradan sadece normal bir yerel uygulama gibi simge ayarlama meselesi.

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

Android uygulaması için simge ayarla


1
Apple bağlantısı koptu, @ rmevans9. :(
Adam K Dean

1
Bu hizmetin sizin hakkınızda - uygulama adı, uygulamanın pazar kategorisi vb.) Bilgi topladığını ve bir e-posta adresi sağlanmadıkça resim indirmeyi engellediğini unutmayın.
tfmontague

Bu cevabı okudum ve ancak bir süre sonra Almouro'nun cevabını aşağıda okudum. Keşke Almouro'nun cevabı ile başlasaydım.
Yossi

23

Bu adamın tavsiyelerini izleyerek ve Android Asset Studio'yu kullanarak tepkime-yerel android projeme bir uygulama simgesi ekleyebildim

İşte, bağlantının ölmesi durumunda kopyalanır:

React-Native Android'de bir Uygulama Simgesi nasıl yüklenir

1) Görüntünüzü Android Asset Studio'ya yükleyin . Uygulamak istediğiniz efektleri seçin. Araç sizin için bir zip dosyası oluşturur. İndir .Zip'i tıklayın.

2) Makinenizdeki dosyayı açın. Ardından istediğiniz görüntüleri /android/app/src/main/res/klasörünüze sürükleyin . Her görüntüyü sağ alt klasöre yerleştirdiğinizden emin olunmipmap-{hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi}.

android / app / src / main / res

3) (Başlangıçta yaptığım gibi) tüm klasörü res klasörünüzün üzerine sürükleyip bırakmayın. Çünkü /res/values/{strings,styles}.xmldosyalarınızı tamamen kaldırıyor olabilirsiniz .


9

Birisi sadece bu görev için kullanımı çok kolay bir araç yaptı: https://www.npmjs.com/package/app-icon

Bu basit araç, yerel yanıt projenizde tek bir simge oluşturmanıza ve ardından gerekli tüm boyutlarda simgeler oluşturmanıza olanak tanır. Şu anda iOS ve Android için çalışıyor.

Ben kullandım. İndir (512x512) Süper kolay.


1
Not: tepki yerel simgesi kullanımdan kaldırıldı olarak işaretlendi ve uygulama simgesine yeniden adlandırıldı; npmjs.com/package/app-icon
Eirik H

8

Biraz geç geliyor ama Android Studio çok kullanışlı bir simge varlık sihirbazına sahip. Çok açıklayıcıdır, ancak birkaç kullanışlı etkisi vardır ve yerleşiktir:

resim açıklamasını buraya girin


Rect-native projelerinizi Android Studio'da oluşturuyor musunuz?
Adam Katz

1
Hayır, ama düzenli olarak bir sebepten ötürü açmak zorundayım. XCode ile aynı - sonunda diğer tarafa geçmeniz gerekiyor. Bu, saniyeler içinde yüksek kaliteli simge setleri oluşturmak için kullandığım yöntem, çok güçlü bir tepkiye sahipti. Cehennem - Mobil uygulamalar için simgeler oluşturmak için kendi açık kaynak projem bile var ve hala bu yöntemi tercih ediyorum. npmjs.com/package/cordova-media-generator
Ryan Knell

Bu harika - aynı zamanda süper yararlı bulduğum simgeleri de (bu cevap gibi!) Prettified.
Bilal Akil

Parlak! Güzel bir!
barrylachapelle

6

Rockvic'in dediği gibi iOS ve Android için farklı boyutta simgelere ihtiyacınız olacak. Ayrıca, ilgilenen varsa farklı boyutta simgeler oluşturmak için bu siteyi tavsiye ederim. Hiçbir şey indirmenize gerek yoktur ve mükemmel çalışır.

https://resizeappicon.com/

Umarım yardımcı olur.




-2

Simgeleri projenize aktarmak için tepki-yerel-vektör-simgelerini kullanmanızı öneririm. Vektör simgeleri kullandıkça, simge ölçeklendirme tarafında fazla endişelenmenize gerek yoktur. Paketi kullanırken fontawesome, ionicons vb. Tüm popüler simge setlerini kullanabilirsiniz.

Bu simge setlerinin yanı sıra, simgelerinizi bir ttf dosyası olarak paketleyerek kendi simgelerinizi de tepki yerel projenize getirebilir ve bu ttf'yi hem android hem de ios projesine doğrudan aktarabilirsiniz. Bu simgeleri yönetmek için aynı tepki-yerel-vektör-simgeler kütüphanesini kullanabilirsiniz

Özel simgeleri ayarlamak için ayrıntılı bir prosedür

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


-5

Reaksiyon yerel öğelerini içe aktarabilir ve yerel tepki uygulamanız için harika yazı tipi simgelerini kullanabilirsiniz

Yüklemek

npm install --save react-native-elements

ardından simgeleri kullanmak istediğiniz yere aktarın

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

Gibi kullanın

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

Adı olarak belirttiğimiz için Android için nasıl simge ekleyebiliriz ios-american-football? ya da bu sözdiziminde ios'u android ile değiştirebilir miyiz?
ganeshdeshmukh

Bu orijinal soruyu ele almıyor.
SoluableNonagon

Gönderi başlatıcı simgesiyle ilgilidir ve tepki yerel öğelerle ilgisi yoktur. Kütüphane sadece uygulama içi simgeler içindir.
Göksel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.