我正在做一个React Native应用程序。我想自定义应用程序图标(意味着你点击启动应用程序的图标)。我在谷歌上搜索过,但我一直在寻找不同类型的图标,它们指的是不同的东西。如何将这些类型的图标添加到应用程序中?


我将使用一个服务来正确缩放图标。http://makeappicon.com/似乎不错。使用较大尺寸的图像,因为放大较小的图像会导致较大的图标像素化。该网站将为你提供iOS和Android的尺寸。

从那里,它只是一个设置图标的问题,就像你会一个普通的本地应用程序。

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

设置Android应用程序图标


iOS图标

在Images.xcassets中设置AppIcon。 添加9个不同大小的图标: 29 pt 29 pt * 2 29 pt * 3 40 pt * 2 40 pt * 3 57分 57 pt * 2 60 pt * 2 60 pt * 3。

图像。Xcassets看起来是这样的:

Android图标

将ic_launcher.png放入[ProjectDirectory]/android/app/src/main/res/mipmap-*/文件夹中。 mimmap -hdpi中的72*72 ic_launcher.png。 mimmap -mdpi中的48*48 ic_launcher.png。 mimmap -xhdpi中的96*96 ic_launcher.png。 144*144 ic_launcher.png mimmap -xxhdpi。 mimmap -xxxhdpi中的192*192 ic_launcher.png。

2019年更新

react native的最新版本也支持圆形图标。对于这种特殊情况,您有两个选择:

A.添加圆形图标: 在每个mipmap文件夹中,在ic_launcher.png文件中添加一个同样大小的圆形版本,称为ic_launcher_round.png。

B.移除圆形图标: 在你的projectfolder /android/app/src/main/AndroidManifest.xml中删除一行android:roundIcon="@mipmap/ic_launcher_round"并保存它。

否则构建将抛出错误。


我遵循了他的建议并使用android Asset Studio在react-native android项目中添加了应用图标

以下是为防止链接失效而转录的内容:

如何在React-Native Android上传应用程序图标

1)上传你的图像到Android Asset Studio。 选择任何你想应用的效果。该工具为您生成一个zip文件。点击下载。zip。

2)在你的机器上解压缩文件。然后拖动你想要的图片到你的/android/app/src/main/res/文件夹。确保将每个图像放在正确的子文件夹mipmap-{hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi}。

3)不要(像我最初做的那样)天真地将整个文件夹拖放到你的res文件夹上。因为你可能会删除你的/res/values/{strings,styles}.xml文件。


Android Studio有一个非常方便的图标资产向导,叫做Image asset Studio(用户指南)。它是不言自明的,有一些方便的效果,它是内置的:

截图来自Windows 10上的Android Studio 4.1.3


就像Rockvic所说的,iOS和Android需要不同大小的图标。此外,如果有人感兴趣,我推荐这个网站生成不同大小的图标。你不需要下载任何东西,它工作得很完美。

https://resizeappicon.com/

希望能有所帮助。


有人专门为这项任务制作了一个非常容易使用的工具:https://www.npmjs.com/package/app-icon

这个简单的工具允许您在react-native项目中创建单个图标,然后从它创建所有所需大小的图标。它目前适用于iOS和Android。

我用过。制作一个512x512的png文件,然后运行该工具,完成。超级简单。


我想建议使用react-native-vector-icons将图标导入到您的项目。当你使用矢量图标时,你不需要担心图标缩放方面。在使用该软件包时,您可以使用所有流行的图标集,如fontawesome, ionicons等。

除了这些图标集,你也可以把你自己的图标打包为一个ttf文件,你可以直接导入到android和ios项目react-native项目。您可以使用相同的react-native-vector-icons库来管理这些图标

下面是设置自定义图标的详细过程

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


你可以导入react-native-elements,并在你的react native应用程序中使用font-awesome图标

安装

npm install --save react-native-elements

然后把它导入到你想要使用图标的地方

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

像这样使用它

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

如果你使用的是expo,在你的项目中放置一个1024 * 1024的png文件 在app.json中添加一个图标属性。“图标”:“。/ src /资产/程序”

https://docs.expo.io/versions/latest/guides/app-icons


这有助于人们努力寻找更好的网站来生成图标和飞溅屏幕

制作应用图标(android和ios都有用) APE工具(android和ios都有用) 图标集创建器(仅适用于ios) android Asset Studio(仅适用于android +推荐*)


我个人使用这个链接来生成我想要的图标https://appicon.co/

以及用于在应用程序内部导入。

IOS设置

点击Xcode ==>中的项目

然后在左边你会看到你的点击==>

现在您将看到子文件名Images。Xcassets点击==>

您的图标大小将显示在右侧窗口==>

只需拖放我们从https://appicon.co/ ==>生成的图标

你的IOS图标设置完成了。

转向Android

我们会用到Android ==> app ==> src ==> main ==> res

这里有命名为mimmap -hdpi的多个文件夹,直到xxxhdpi ==>

将图标从特定文件夹拖动到项目特定文件夹。 编码快乐!


如果你想在React Native上导入图标而不需要图片,那么React - Native -vector-icons将是最好的选择。如果您不想下载图标并在项目中使用它,您可以使用它。


在React-Native项目中为Android设备设置应用程序启动图标:

Take a high resolution image of your logo and place it inside your project directory. Preferably in [Project-DIR]/android/app/src/main/res/ Open Android Studio and run your React-native project. In Android Studio's Project window, select the Android view Right-click the res folder and select New > Image Asset A "Configure Image Asset" window will open; Locate your high resolution image and place set it as your "Foreground layer". Set your "Background Layer" if applicable Click "Next" and continue to finish. Run your application again to see the new app launch icon.

官方文档可以在这里找到:https://developer.android.com/studio/write/image-asset-studio


使用这个库可以使您的工作更容易。 它将自动化您的图标生成过程

https://www.npmjs.com/package/@bam.tech/react-native-make


Android应用图标: 访问这个网站https://appicon.co/

添加图像和生成图标,应该下载 解压文件夹 在他们的副本中,所有AppIcons/android/文件夹(即文件夹 名称:mipmap-xxxhdpi mipmap-xxhdpi mipmap-xhdpi, mipmap-hdpi mipmap-mdpi) 将上述复制的文件夹粘贴到{rootFolder}/android/app/src/main/res/ 并替换现有的 从AndroidManifest.xml中删除这一行 (android: roundIcon =“@mipmap / ic_launcher_round”)

图标添加成功

更改IOS应用程序图标: 访问这个网站https://appicon.co/

添加图像和生成图标,应该下载 解压文件夹 在他们的副本中,所有的文件夹在AppIcons/Assets中。xcassets /(即。 AppIcon。appiconset文件夹) 粘贴AppIcon。Appiconset文件夹 {rootFolder} / ios / {projectname} /图像。Xcassets /和替换现有的

图标添加成功


更新2022

因为阿尔莫罗的答案已经不复存在了

Android和iOS图标

你现在可以在iOS和Android上用一个命令生成圆形图标:

npx icon-set-creator create ./path/to/icon.png

我强烈建议使用至少1024x1024像素的图标

自适应Android图标

npx icon-set-creator create -b <background> -f <foreground> -A

background—颜色(例如:“#ffffff”)或图像资产(例如:“资产/图片/ christmas-background.png”)

前景-图像资产(例如:“资产/图片/ christmas-foreground.png”)