วิธีเพิ่มไอคอนไปที่แอป Native


271

ฉันกำลังสร้างแอป React Native ฉันต้องการปรับแต่งไอคอนแอพ (หมายถึงไอคอนที่คุณคลิกเพื่อเริ่มแอป) ฉันได้ Googled สิ่งนี้ แต่ฉันค้นหาไอคอนประเภทต่าง ๆ ที่อ้างอิงถึงสิ่งต่าง ๆ ฉันจะเพิ่มไอคอนประเภทเหล่านี้ลงในแอพได้อย่างไร


นี่สำหรับ iOS, Android หรือทั้งสองอย่าง?
rmevans9

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.pngmipmap-hdpi
    • 48 * 48 ในic_launcher.pngmipmap-mdpi
    • 96 * 96 ในic_launcher.pngmipmap-xhdpi
    • 144 * 144 ในic_launcher.pngmipmap-xxhdpi
    • 192 * 192 ในic_launcher.pngmipmap-xxxhdpi

อัปเดต 2019 Android

เวอร์ชันล่าสุดของ Native react ยังรองรับไอคอนรอบ สำหรับกรณีนี้คุณมีสองทางเลือก:

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 นี่น่าจะเป็นคำตอบที่ยอมรับได้
Jason Wiener

2
มีวิธีทำสำหรับทั้งสองโดยตรงในปฏิกิริยาพื้นเมือง?
jose920405

2
เพียงแค่อัปเดตคำตอบที่ยอดเยี่ยมนี้ ตอนนี้คุณต้องมี 83.5pt * 2 สำหรับ iPadPro บน iOS
Randy Coulman

4
ฉันเขียนตัวสร้างเพื่อสร้างไอคอนสำหรับแอปตอบโต้พื้นเมืองของคุณโดยอัตโนมัติจากไฟล์ไอคอนเดียว :) หวังว่ามันจะช่วยผู้อื่นได้! (ดูคำตอบนี้ )
Almouro

5
อยู่ที่ไหนในเอกสารเนทีฟแบบตอบโต้?
GONeale

296

ฉันเขียนตัวสร้างเพื่อสร้างไอคอนสำหรับแอปตอบโต้พื้นเมืองของคุณโดยอัตโนมัติจากไฟล์ไอคอนเดียว มันสร้างสินทรัพย์ของคุณและเพิ่มอย่างถูกต้องให้กับโครงการ iOS และ Android ของคุณ:

อัปเดต (04/09/2019)

เราปรับปรุงเครื่องกำเนิดไฟฟ้าให้ทันสมัยตามมาตรฐานระบบนิเวศ ตอนนี้คุณสามารถใช้@ bam.tech / ตอบสนองพื้นเมือง-แต่งหน้า

คุณสามารถติดตั้งโดยใช้: yarn add @bam.tech/react-native-makeในโครงการที่ตอบสนองพื้นเมือง

ที่จะใช้มัน react-native set-icon --path <path_to_png> --background <icon_background_color> --platform <android|ios>

และ ... แค่นั้นแหละ! หวังว่ามันจะมีประโยชน์สำหรับคนอื่น ๆ :)

คำแนะนำ:

นี่คือการปรับปรุงบางส่วนของเครื่องมือก่อนหน้านี้: 🥳

  • ไม่มีการพึ่งพา Yeoman ตอนนี้มันเป็นปลั๊กอินแบบตอบสนองพื้นเมือง
  • ไม่มีการพึ่งพาภาพ Magick
  • สร้างไอคอน Adaptive สำหรับ Android
  • เพิ่มขนาดไอคอนที่ขาดหายไปสำหรับ iOS

7
นี่ควรเป็นคำตอบที่ยอมรับได้ คุณช่วยฉันประหยัดเวลาได้มาก! ในฐานะนักพัฒนาแอพเราไม่สนใจว่าจะต้องมีไอคอน iOS และ Android จำนวนเท่าไรสำหรับ 9 ไอคอนและ 4 ไอคอนนั้นมีเนื้อหาเหมือนกันใครจะสนใจ? สำหรับเรตินาหรือไม่เรตินาสำหรับหน้าจอใหญ่หรือเล็กใครจะสนใจ? แค่ให้ไอคอนที่ชัดเจนและเหมือนกันนั่นแหละ! ขอบคุณและฉันต้องการลองใช้เครื่องมืออื่นของคุณ :)
Zhang Buzz

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/
......

1
มันช่วยได้เยอะ แต่มีวิธีเพิ่มไอคอนรอบด้วยหรือไม่ ไลบรารีเหล่านี้เพิ่งเพิ่มไอคอนปกติสำหรับ Android ขอบคุณอีกครั้ง
Amas

31

ฉันจะใช้บริการเพื่อปรับขนาดไอคอนอย่างถูกต้อง http://makeappicon.com/ดูดี ใช้รูปภาพที่มีขนาดใหญ่ขึ้นเนื่องจากการขยายภาพที่เล็กลงจะทำให้ไอคอนมีขนาดใหญ่ขึ้นเป็นพิกเซล ไซต์นั้นจะให้ขนาดสำหรับทั้ง iOS และ Android

จากตรงนั้นมันเป็นเพียงเรื่องของการตั้งค่าไอคอนเหมือนแอพทั่วไปที่คุณใช้

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

ตั้งค่าไอคอนสำหรับแอปพลิเคชัน Android


1
ลิงก์ของ Apple เสียหาย, @ rmevans9 :(
Adam K Dean

1
หมายเหตุบริการนี้รวบรวมข้อมูลเกี่ยวกับคุณ - เช่นชื่อแอพหมวดหมู่ตลาดของแอพ ฯลฯ - และป้องกันการดาวน์โหลดรูปภาพยกเว้นที่อยู่อีเมลให้ไว้
tfmontague

ฉันได้อ่านคำตอบนี้และหลังจากอ่านคำตอบของ Almouro ด้านล่าง ฉันหวังว่าฉันจะเริ่มต้นด้วยคำตอบของ Almouro
Yossi

23

ฉันสามารถเพิ่มไอคอนแอพลงในโปรเจ็กต์ Android ที่ตอบสนองได้โดยทำตามคำแนะนำของผู้ชายคนนี้และใช้Android Asset Studio

นี่คือการถอดความในกรณีที่ลิงค์เสียชีวิต:

วิธีอัปโหลดไอคอนแอปพลิเคชันใน React-Native Android

1) อัปโหลดภาพของคุณเพื่อAndroid สินทรัพย์สตูดิโอ เลือกเอฟเฟกต์อะไรก็ได้ที่คุณต้องการนำไปใช้ เครื่องมือสร้างไฟล์ zip สำหรับคุณ คลิกดาวน์โหลด. zip

2) เปิดเครื่องรูดไฟล์บนเครื่องของคุณ จากนั้นลากภาพที่คุณต้องการไปยัง/android/app/src/main/res/โฟลเดอร์ของคุณ ตรวจสอบให้แน่ใจว่าได้วางแต่ละภาพในโฟลเดอร์ย่อยที่ถูกต้องmipmap-{hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi}.

Android / app / src / หลักความละเอียด /

3) อย่า (อย่างที่ฉันเคยทำ) ลากและวางโฟลเดอร์ทั้งหมดไว้บนโฟลเดอร์ res ของคุณอย่างไร้เดียงสา ในขณะที่คุณอาจจะลบ/res/values/{strings,styles}.xmlไฟล์ของคุณทั้งหมด


9

มีคนสร้างเครื่องมือที่ใช้งานง่ายมากสำหรับงานนี้: https://www.npmjs.com/package/app-icon

เครื่องมือง่าย ๆ นี้ช่วยให้คุณสร้างไอคอนเดียวในโปรเจคที่ตอบสนองต่อพื้นเมืองของคุณจากนั้นสร้างไอคอนทุกขนาดที่ต้องการจากมัน ปัจจุบันใช้งานได้กับ iOS และ Android

ฉันเคยใช้มัน สร้าง png ขนาด 512x512 แล้วจึงเรียกใช้เครื่องมือและบูมดังกล่าวเสร็จสิ้น ง่ายสุด ๆ


1
PS: react-native-icon ถูกทำเครื่องหมายว่าเลิกใช้แล้วและเปลี่ยนชื่อเป็น app-icon; npmjs.com/package/app-icon
Eirik H

8

มาช้าแล้วที่นี่ แต่ Android Studio มีตัวช่วยสร้างไอคอนที่มีประโยชน์มาก มันอธิบายตัวเองได้ดี แต่มีเอฟเฟกต์ที่มีประโยชน์น้อยและตัวมันอยู่ใน:

ป้อนคำอธิบายรูปภาพที่นี่


คุณสร้างโครงการ rect-native ของคุณใน Android Studio หรือไม่
Adam Katz

1
ไม่ แต่ฉันต้องเปิดเป็นประจำด้วยเหตุผลใดก็ตาม เช่นเดียวกันกับ XCode - ในที่สุดคุณต้องข้ามไปยังอีกด้านหนึ่ง นี่คือวิธีที่ฉันใช้ในการสร้างชุดไอคอนคุณภาพสูงในไม่กี่วินาทีแปลกใจมากที่มีการตอบสนองที่ดี นรก - ฉันยังมีโครงการโอเพนซอร์ซของตัวเองเพื่อสร้างไอคอนสำหรับแอพมือถือและฉันก็ยังชอบวิธีนี้ npmjs.com/package/cordova-media-generator
Ryan

มันเยี่ยมมาก - มันมีไอคอนที่สวยงามซึ่งฉันคิดว่ามีประโยชน์มาก (เช่นคำตอบนี้!)
Bilal Akil

ยอดเยี่ยม! ทำได้ดีนี่!
barrylachapelle

6

คุณจะต้องใช้ไอคอนขนาดต่าง ๆ สำหรับ iOS และ Android เช่น Rockvic กล่าว นอกจากนี้ฉันขอแนะนำเว็บไซต์นี้สำหรับการสร้างไอคอนขนาดแตกต่างกันหากใครสนใจ คุณไม่จำเป็นต้องดาวน์โหลดอะไรเลยและทำงานได้อย่างสมบูรณ์

https://resizeappicon.com/

หวังว่ามันจะช่วย


3

สิ่งนี้มีประโยชน์สำหรับผู้ที่ดิ้นรนหาเว็บไซต์ที่ดีกว่าเพื่อสร้างไอคอนและสแปลชสกรีน



-2

ฉันอยากจะแนะนำให้ใช้ react-native-vector-icons เพื่อนำเข้าไอคอนไปยังโครงการของคุณ เมื่อคุณใช้ไอคอนแบบเวกเตอร์คุณไม่จำเป็นต้องกังวลมากเกี่ยวกับการปรับขนาดไอคอน ในขณะที่ใช้แพ็คเกจคุณสามารถใช้ชุดไอคอนยอดนิยมทั้งหมดเช่น fontawesome, ionicons เป็นต้น

นอกจากชุดไอคอนเหล่านี้คุณยังสามารถนำไอคอนของคุณเองไปยังโปรเจ็กต์ตอบโต้ภายในเครื่องของคุณโดยการบรรจุไอคอนของคุณเป็นไฟล์ tff และคุณสามารถนำเข้า 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 ในรูปแบบนี้
ganeshdeshmukh

นี่ไม่ได้ตอบคำถามเดิม
SoluableNonagon

โพสต์เป็นไอคอนเกี่ยวกับตัวเรียกใช้งานและไม่มีส่วนเกี่ยวข้องกับองค์ประกอบแบบโต้ตอบ ห้องสมุดมีไว้สำหรับไอคอนในแอปเท่านั้น
สวรรค์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.