
Security News
High Salaries No Longer Enough to Attract Top Cybersecurity Talent
A survey of 500 cybersecurity pros reveals high pay isn't enough—lack of growth and flexibility is driving attrition and risking organizational security.
react-native-change-icon
Advanced tools
Change application icon programmatically in React-Native.
Supported Platforms
yarn add react-native-change-icon
npm i react-native-change-icon
I'd suggest exporting them around `1024px` or higher.
Use a service such as https://www.appicon.co/ in order to generate the platform specific icon files.
iPhone
and Android
..zip
file with the files needed.
iOS
and Android
.Android 🤖
ic_launcher_<type>.png
e.g. ic_launcher_dark.png
mipmap-hdpi
... etc.android
directory with all the mipmap-*
directories inside. Inside them place all your generated icons.iOS 🍏
AppIcon.appiconset
as this contains your icons.<type>.appiconset
e.g. Dark.appiconset
Contents.json
to change and references from Assets.xcassets/AppIcon.appiconset
to what you have renamed the file now e.g. Images.xcassets/AppIcon.appiconset
Android 🤖
mipmap
folders into android/app/src/main/res/
iOS 🍏
.appiconset
folders into ios/<app-name>/Images.xcassets
Android 🤖
AndroidManifest.xml
(within <application>
).
.MainActivityDefault
as well but for this, set android:enabled="true"
..MainActivity...
followed by the name you will use to reference your icon. e.g. for our light icon we will use .MainActivityLight
LAUNCHER
intent filter from the main <activity>
as we have added the launcher in .MainActivityDefault
.<activity-alias
android:name=".MainActivityLight"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/ic_launcher_light"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
iOS 🍏
Info.plist
insert a key for CFBundleIcons
CFBundleAlternateIcons
key
is the name you will reference from within code..appiconset
we created earlier.General
settings, under App Icons and Launch Screen
, set "App Icon" to Default
and check the "Include all app icon assets" checkbox below.<key>Dark</key>
<dict>
<key>CFBundleIconFiles</key>
<array>
<string>Dark</string>
</array>
<key>UIPrerenderedIcon</key>
<false/>
</dict>
You can now use your icons and switch between them within React Native 🎉
import { changeIcon, getIcon, resetIcon } from 'react-native-change-icon';
// Pass the name of icon to be enabled
changeIcon('Dark');
changeIcon('Light');
// Get the icon currently enabled
getIcon();
// Reset the Icon to the default
resetIcon();
All functions are typed and return a promise that either resolves successfully, or will reject with the error that has occurred.
FAQs
Change application icon programmatically in React-Native.
The npm package react-native-change-icon receives a total of 7,453 weekly downloads. As such, react-native-change-icon popularity was classified as popular.
We found that react-native-change-icon demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
A survey of 500 cybersecurity pros reveals high pay isn't enough—lack of growth and flexibility is driving attrition and risking organizational security.
Product
Socket, the leader in open source security, is now available on Google Cloud Marketplace for simplified procurement and enhanced protection against supply chain attacks.
Security News
Corepack will be phased out from future Node.js releases following a TSC vote.