Avez-vous déjà utilisé Tinder ? si oui, l'icône de l'application a une couleur de base rose , mais lorsqu'un utilisateur passe à l' abonnement Gold , l' icône change pour refléter ce niveau d'abonnement sans nécessiter le téléchargement d'une nouvelle application.
Aujourd'hui, nous allons explorer un package npm sympa appelé react-native-change-iconqui nous permet de changer sans effort l'icône de notre application. Excitant, non ? Plongeons-nous et voyons comment nous pouvons l'utiliser !
️ Mise en place
Pour commencer, ouvrons votre CLI et dirigez-vous vers votre répertoire de projet. Une fois que vous y êtes, lancez cette commande :
npm i react-native-change-icon
yarn add react-native-change-icon
Maintenant que vous avez vos icônes d'application, dirigeons-nous vers le répertoire " android " de votre projet, suivi des android ->app -> src -> main -> res -> mipmap-*répertoires, et ajoutez toutes les icônes dont vous avez besoin.
Lorsque vous avez terminé d'ajouter les icônes, jetez un œil à votre dossier ; il devrait apparaître quelque chose comme ça.
Pour mettre à jour votre fichier AndroidManifest.xml, ajoutez simplement un alias d'activité pour chacune de vos icônes d'application comme celle-ci !
<activity-alias
android:name="com.rndynamicicon.MainActivitylogo_1"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/logo_1"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/logored"
android:allowBackup="false"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity" />
<activity-alias
android:name="com.rndynamicicon.MainActivitylogo_1"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/logo_1"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity-alias
android:name="com.rndynamicicon.MainActivitylogo_2"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/logo_2"
android:targetActivity=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
</application>
</manifest>
ios/dossier et faites pod install.AppIconsgroupe à votre application.
4. Ouvrez le Info.plistfichier.
5. Ajouter Icon files (iOS 5)à la liste des propriétés d'informations.
6. Ajoutez CFBundleAlternateIconsen tant que dictionnaire aux fichiers d'icônes (iOS 5) car il est utilisé pour les icônes alternatives.
7. Ajoutez des dictionnaires sous CFBundleAlternateIconsnommés comme noms d'icônes dans le AppIconsgroupe.
8. Pour chaque dictionnaire, ces deux propriétés UIPrerenderedIconet CFBundleIconFilesdoivent être configurées.
9. Définissez le type de UIPrerenderedIconet Stringsa valeur sur NO.
10. Définissez la chaîne typede CFBundleIconFiles to l'élément de tableau and set its first key,0` toavec la valeur du nom de l'icône.
11. définissez le nom de l'icône par défaut dans Primary Iconet Newsstand Icon-> Icon files-> Item 0.
Côté JS
Après ces étapes, nous avons la possibilité de changer l'icône dans le code JS de notre application. Importons la bibliothèque :
import { changeIcon, getIcon } from 'react-native-change-icon';
changeIcon('iconname'); // pass the icon name to change the icon
getIcon(); // to get the currently active icon
Sortir
Veuillez consulter le projet de démonstration sur GitHub pour plus d'informations
J'espère que cet article vous a apporté de nouvelles connaissances aujourd'hui. Si vous l'avez trouvé agréable et utile, n'hésitez pas à me donner quelques applaudissements !
Bon codage :)
Lorsque vous faites une demande à facebook.com, votre ordinateur recherche le nom de domaine pour traduire ce nom de domaine en une adresse IP afin que votre ordinateur puisse établir cette connexion.
Notre langue est un outil puissant qui peut façonner nos pensées, nos attitudes et nos actions. Même des termes apparemment inoffensifs peuvent perpétuer des préjugés et des stéréotypes nuisibles.
Combien de fois avez-vous jeté une bouteille en plastique, un bocal en verre, une canette en aluminium ou un paquet d'énergie verte sans réfléchir à deux fois ? Combien de fois avez-vous souhaité pouvoir obtenir quelque chose en échange de leur recyclage ? Si vous êtes comme la plupart des gens, la réponse est probablement plusieurs fois. Le recyclage est souvent perçu comme un tracas, une corvée ou un devoir qui n'apporte aucun bénéfice immédiat ou tangible.
Quand tu grandis, on a tendance à te dire que le monde est comme il est et que ta vie est juste de vivre ta vie à l'intérieur du monde, sans jamais risquer ta vie, juste suivre un chemin tracé et mourir à la fin, et essayer de ne pas cogner trop les murs. Mais c'est une vie très limitée.
Dans le monde hyper-connecté d'aujourd'hui, les systèmes médiatiques jouent un rôle central dans la formation de l'opinion publique et, par conséquent, dans la prise de décision démocratique. Dans son analyse approfondie de l'économie politique de la communication, le chercheur Robert McChesney remet en question la sagesse conventionnelle et présente ce qu'il appelle les « cinq vérités » sur les médias.
La démangeaison dans ma main s'est propagée alors que je négociais avec le libraire local pour un autre livre. Ce livre, comme les autres que j'ai achetés récemment, trouverait son trône sur ma pile «À lire» (TBR); et pourtant, je l'ai acheté.