Як додати піктограми до програми React Native


271

Я роблю додаток React Native. Я хотів би налаштувати піктограму програми (маючи на увазі піктограму, яку натискаєте, щоб запустити додаток). Я перекочував це, але постійно знаходжу різні типи значків, які стосуються різних речей. Як додати ці типи піктограм у додаток?


Це для iOS, Android чи обох?
rmevans9

3
тепер для ios, але зрештою для обох
Адам Кац

Дивіться цей відповідь , а також: stackoverflow.com/a/11845815/5576491
PallavBakshi

Відповіді:


427

Піктограми iOS

  • Встановити AppIconв Images.xcassets.
  • Додайте 9 піктограм різного розміру:
    • 29pt
    • 29pt*2
    • 29pt*3
    • 40pt*2
    • 40pt*3
    • 57pt
    • 57pt*2
    • 60pt*2
    • 60pt*3.

Images.xcassets буде виглядати так:

Android Icons

  • Покладіть 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.

Оновіть Android на 2019 рік

Останні версії react native також підтримують круглу піктограму. У цьому конкретному випадку у вас є два варіанти:

A. Додайте круглі піктограми: У кожній папці mipmap додайте до ic_launcher.pngфайлу також круглу версію ic_launcher_round.pngз таким же розміром.

B. Видаліть круглі значки: всередині yourProjectFolder/android/app/src/main/AndroidManifest.xmlвидаліть рядок android:roundIcon="@mipmap/ic_launcher_round"і збережіть його.

Інше, що збірка видає помилку.


2
@ adam-katz, це справді має бути прийнятою відповіддю.
Джейсон Вінер

2
Існує який-небудь спосіб зробити для обох безпосередньо в реактивних?
jose920405

2
Просто для оновлення цієї чудової відповіді. Тепер вам також потрібно 83.5pt * 2 для iPadPro на iOS.
Ренді Кульман

4
Я написав генератор, щоб автоматично генерувати піктограми для вашого природного додатка з одного файлу значків :) Сподіваюся, він може допомогти іншим! (Дивіться цю відповідь )
Алмуро

5
Де це в натурній документації?
GONeale

296

Я написав генератор, щоб автоматично генерувати піктограми для вашого реактивного додатка з одного файлу значків. Це генерує ваші активи, а також правильно додає їх у ваш проект ios та android:

Оновлення (09.09.2019)

Ми оновили наш генератор, щоб він відповідав стандартам екосистеми. Тепер ви можете використовувати @ 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, тепер це плагін реакцій-нативної реакції
  • Ніяка залежність від магії
  • Створює адаптивні іконки для Android
  • Додає відсутні розміри піктограм для iOS

7
Це має бути прийнятою відповіддю. Ви заощаджуєте мені величезну кількість часу! Як розробникам додатків нас справді не цікавить, скільки значків знадобиться iOS та Android, оскільки для 9 значків та 4 значків є однаковий вміст, кого це цікавить? Для сітківки чи не сітківки, для великого чи маленького екрана, кого це турбує? Просто дайте мені абсолютно чіткі і ті ж значки, ось і все! Дякую, і я хотів би спробувати ваші інші інструменти. :)
Чжан Базз

4
Я знайшов проблему: встановлюючи image-magick, переконайтеся, що встановлено застарілі інструменти, щоб convertкоманда існувала.
Rick Love

2
@RickLove У мене також виникла ця проблема після встановлення Imagemagick з yarn -g add imagemagick. Потім я встановив його, використовуючи homebrewзамість ( brew install imagemagick), який встановив усе необхідне і працював.
BeniaminoBaggins

1
@PolaEdward немає потреби в Ruby :) Усі вимоги є тут: github.com/bamlab/generator-rn-toolbox/blob/master/generators/…
Almouro

1
це дуже допомогло, але чи можна додати також круглі значки? ці бібліотеки просто додають звичайні іконки для Android. ще раз дякую
Amas

31

Я б користувався сервісом, щоб правильно масштабувати піктограму. http://makeappicon.com/ здається непоганим. Використовувати зображення більшого розміру, оскільки масштабування меншого зображення може призвести до того, що великі піктограми будуть пікселізовані. Цей сайт надасть вам розміри як для iOS, так і для Android.

Звідси це лише питання про встановлення піктограми, як у звичайному рідному додатку.

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

Встановити значок для програми Android


1
Apple посилання порушено, @ rmevans9. :(
Адам К Дін

1
Зауважте, що ця послуга збирає інформацію про вас - наприклад, ім'я програми, категорія ринку додатка тощо - і запобігає завантаженню зображень, якщо не вказано електронну адресу.
tfmontague

Я прочитав цю відповідь і лише через деякий час прочитав відповідь Алмуро нижче. Я б хотів, щоб я почав з відповіді Алмуро.
Йоссі

23

Мені вдалося додати піктограму додатка до мого Android-проекту на основі реагування, дотримуючись порад цього хлопця та використовуючи Android Asset Studio

Ось він, записаний на випадок, якщо посилання загине:

Як завантажити піктограму програми в 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-позначений як застарілий і перейменований на значок-додаток; npmjs.com/package/app-icon
Ейрік Н

8

Тут запізнюється трохи пізніше, але Android Studio має дуже зручний майстер значків активів. Це само собою пояснює, але має кілька зручних ефектів і вбудований прямо:

введіть тут опис зображення


Чи будуєте ви свої рідні проекти в Android Studio?
Адам Кац

1
Ні, але мені регулярно доводиться відкривати його з тих чи інших причин. Те саме з XCode - з часом вам потрібно перейти на іншу сторону. Це метод, який я використовую для створення високоякісних наборів значків за лічені секунди, дуже здивований, що він отримав настільки сильну реакцію. Чорт - Я навіть маю власний проект з відкритим кодом для створення значків для мобільних додатків, і я все ще віддаю перевагу цьому методу. npmjs.com/package/cordova-media-generator
Ryan Knell

Це було приголомшливо - це також доопрацювало піктограми, що мені здалося надзвичайно корисним (як ця відповідь!).
Білал Акіль

Блискуче! Хороший!
barrylachapelle

6

Вам знадобляться значки різного розміру для iOS та Android, як сказав Rockvic. Крім того, я рекомендую цей сайт для створення значків різного розміру, якщо когось цікавить. Вам не потрібно нічого завантажувати, і це працює чудово.

https://resizeappicon.com/

Сподіваюся, це допомагає.


3

Це корисно для людей, які намагаються знайти кращий сайт для створення значків та бризки екрана



-2

Я хотів би запропонувати використовувати для імпорту піктограм у ваш проект іконки react-native-vector-vector. Використовуючи векторні іконки, вам не потрібно сильно турбуватися про масштабування іконок. Під час використання пакету ви можете використовувати всі популярні набори іконок, такі як джерело, іонікони тощо.

Окрім цих наборів іконок, ви також можете піднести власні значки до власного проекту, що запам'ятовується, упакувавши ваші значки у вигляді файлу ttf, і ви можете імпортувати цей ttf безпосередньо в проект Android та ios. Ви можете використовувати ту саму бібліотеку react-native-vector-icons для управління цими значками

Ось детальна процедура налаштування користувацьких піктограм

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


-5

Ви можете імпортувати реактивні натив-елементи та використовувати чудові шрифтові піктограми для свого реактивного додатка

Встановити

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 у цьому синтаксисі?
Ганешдешмух

Це не стосується початкового питання.
SoluableNonagon

Публікація стосується піктограми запуску і не має нічого спільного з елементами react-native. Бібліотека призначена лише для значків додатків.
Небесний
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.