J'essaie d'utiliser Font Awesome sur mon application, j'ai pu intégrer la police en utilisant Typeface.createFromAsset()
, mais je souhaite également utiliser les icônes fournies par cette police, mais jusqu'à présent, je n'ai pas été en mesure de le faire.
Cette police particulière contient des icônes à l'intérieur de la zone d'utilisation privée Unicode (PUA), pour des éléments tels que les contrôles du lecteur multimédia, l'accès au système de fichiers, les flèches, etc.
Quelqu'un a-t-il utilisé des polices contenant des icônes et des symboles sur Android, est-ce possible?
android
font-awesome
Julian Suarez
la source
la source
Réponses:
Font Awesome semble fonctionner correctement pour moi dans mon application Android. J'ai fait ce qui suit:
fontawesome-webfont.ttf
dans mon dossier assestsCréation d'une entrée dans strings.xml pour chaque icône. Par exemple pour un cœur:
Référencé ladite entrée dans la vue de ma mise en page xml:
J'ai chargé la police dans ma méthode onCreate et la définir pour les vues appropriées:
la source
Hashtable
pour réutiliser votre police d'icône, comme suggéré ici: code.google.com/p/android/issues/detail?id=9904#c7strings.xml
like<string name="faicon"></string>
puis définissez du texte dans mon code, tout ira bien. Mais quand je l'essaiemTextView.setText("");
, ne montre que le texte brut. Quelqu'un pourrait aider? thksEssayez IcoMoon: http://icomoon.io
Disons que vous avez choisi l'icône de lecture, lui avez attribué la lettre «P» et téléchargé le fichier
icomoon.ttf
dans votre dossier d'actifs. Voici comment vous affichez l'icône:xml:
Java:
J'ai donné une conférence sur la création de belles applications Android, qui comprend des explications sur l'utilisation des polices d'icônes, ainsi que l'ajout de dégradés pour rendre les icônes encore plus jolies: http://www.sqisland.com/talks/beautiful-android
L'explication de la police des icônes commence à la diapositive 34: http://www.sqisland.com/talks/beautiful-android/#34
la source
Peut-être trop tard, mais j'avais le même besoin, j'ai donc publié ceci https://github.com/liltof/font-awsome-for-android C'est une version xml prête pour Android de la police géniale utilisable, tout comme Keith Corwin l'a dit
J'espère que cela aidera les autres.
la source
Comme ci-dessus est un excellent exemple et fonctionne très bien:
MAIS! > cela fonctionnera si la chaîne à l'intérieur du bouton que vous définissez à partir de xml:
Si vous avez besoin de l'ajouter dynamiquement, vous pouvez utiliser ceci:
la source
Si vous voulez un setText programmatique sans ajouter de chaîne à string.xml
voir son code hexadécimal ici:
http://fortawesome.github.io/Font-Awesome/cheatsheet/
remplacer & # xf066; à 0xf066
la source
Il existe une petite bibliothèque utile conçue à ces fins :
Obtenez une démo sur Google Play .
Vous pouvez facilement ajouter une icône basée sur une police dans votre mise en page:
Vous pouvez gonfler font-icon à
Drawable
partir de xml:Code Java:
Liens:
la source
0.1.9
J'ai créé cette classe d'assistance en C # (Xamarin) pour définir par programme la propriété text. Cela fonctionne plutôt bien pour moi:
Cela devrait être assez facile à convertir en Java, je pense. J'espère que cela aide quelqu'un!
la source
L'une des bibliothèques que j'utilise pour Font Awesome est la suivante:
https://github.com/Bearded-Hen/Android-Bootstrap
Plus précisément,
https://github.com/Bearded-Hen/Android-Bootstrap/wiki/Font-Awesome-Text
La documentation est facile à comprendre.
Tout d'abord, ajoutez les dépendances nécessaires dans build.gradle:
Deuxièmement, vous pouvez ajouter ceci dans votre XML:
mais assurez-vous de l'ajouter dans votre mise en page racine si vous souhaitez utiliser l'exemple de code ci-dessus:
la source
La bibliothèque FontView vous permet d'utiliser des caractères de police normaux / unicode comme icônes / graphiques dans votre application. Il peut charger la police via des actifs ou un emplacement réseau.
L'avantage de cette bibliothèque est que:
https://github.com/shellum/fontView
Exemple:
Layout:
Java:
la source
Il existe une autre solution intéressante que vous pouvez utiliser directement dans vos fichiers xml de mise en page et qui ne nécessite pas d'utilisation
setTypeface
.C'est Iconify de Joan Zapata . Vous pouvez lire ici les nouveautés d' Iconify v2 . Il comprend 9 bibliothèques de polices différentes que vous pouvez simplement utiliser en ajoutant des dépendances à votre fichier build.gradle .
Dans les fichiers xml de mise en page, il est possible de choisir entre ces widgets:
la source
Créez initialement un dossier d'actifs et copiez l'icône fontawesome (.ttf) Comment créer un dossier d'actifs?
prochaine étape télécharger comment télécharger le fichier .ttf? cliquez ici -> et cliquez sur le bouton de téléchargement après l'extrait de téléchargement et ouvrez les polices Web. enfin, choisissez le dossier de ressources de collage de vrai style de texte (ttf).
comment concevoir des fichiers xml et java sous android?
cet exemple d'une police plus Unicode cliquez ici
Activity_main.xml
MainActivity.java
Production:
Image de sortie
la source
Je suis un peu en retard à la fête mais j'ai écrit une vue personnalisée qui vous permet de le faire, par défaut, elle est définie sur entypo, mais vous pouvez la modifier pour utiliser n'importe quelle iconfont: vérifiez-la ici: github.com/MarsVard/IconView
// modifier la bibliothèque est ancienne et n'est plus prise en charge ... nouvelle ici https://github.com/MarsVard/IonIconView
la source
Si vous n'avez besoin que de quelques icônes de polices géniales, vous pouvez également utiliser http://fa2png.io pour générer des images de pixels normales. Mais si vous ajoutez régulièrement de nouvelles icônes / boutons, je recommanderais la version .ttf car elle est plus flexible.
la source
Si quelqu'un se demande comment l'ajouter par programme, vous devez le faire de cette façon.
la source
Comme toutes les réponses sont excellentes, je ne voulais pas utiliser de bibliothèque et chaque solution avec une seule ligne de code java rendait mon
Activities
etFragments
très compliqué. J'ai donc écrit laTextView
classe comme suit:ce que vous devez faire est de copier le
ttf
fichier de police dans unassets
dossier et d'utiliser cette feuille de triche pour trouver chaque chaîne d'icônes.J'espère que cela t'aides.
la source