... permet d'inclure n'importe quelle police d'icônes avec toutes ses icônes vectorielles dans votre projet. Aucune limite. Évoluez sans limite , utilisez n'importe quelle couleur à tout moment, fournissez un contour et de nombreuses personnalisations supplémentaires...
Ce qui est inclus • Configuration • Guide de migration ? • WIKI / FAQ • Police personnalisée ?️ • Exemple d'application
Polices déjà disponibles
dependencies {
// the core iconics library (without any widgets)
implementation " com.mikepenz:iconics-core: ${ latestAndroidIconicsRelease } "
implementation " androidx.appcompat:appcompat: ${ versions.appCompat } "
}
// this adds all ui view widgets (IconicsButton, IconicsImageView, ...)
implementation " com.mikepenz:iconics-views: ${ latestAndroidIconicsRelease } "
Note
Les polices se terminant par -kotlin
nécessitent au moins la version 4.x d'Android-Iconics v5.1.x ou une version plus récente nécessite les dernières versions de polices
implementation ' com.mikepenz:google-material-typeface:4.0.0.3-kotlin@aar '
implementation ' com.mikepenz:google-material-typeface-{outlined|rounded|sharp}:4.0.0.2-kotlin@aar '
implementation ' com.mikepenz:material-design-iconic-typeface:2.2.0.9-kotlin@aar '
implementation ' com.mikepenz:fontawesome-typeface:5.9.0.3-kotlin@aar '
implementation ' com.mikepenz:octicons-typeface:11.1.0.1-kotlin@aar '
implementation ' com.mikepenz:meteocons-typeface:1.1.0.8-kotlin@aar '
implementation ' com.mikepenz:community-material-typeface:7.0.96.1-kotlin@aar ' // note 5.3.45.1 and newer alphabetically sorts, and merges in 3 sections
implementation ' com.mikepenz:weather-icons-typeface:2.0.10.8-kotlin@aar '
implementation ' com.mikepenz:typeicons-typeface:2.0.7.8-kotlin@aar '
implementation ' com.mikepenz:entypo-typeface:1.0.0.8-kotlin@aar '
implementation ' com.mikepenz:devicon-typeface:2.0.0.8-kotlin@aar '
implementation ' com.mikepenz:foundation-icons-typeface:3.0.0.8-kotlin@aar '
implementation ' com.mikepenz:ionicons-typeface:2.0.1.8-kotlin@aar '
implementation ' com.mikepenz:pixeden-7-stroke-typeface:1.2.0.6-kotlin@aar '
implementation ' com.mikepenz:material-design-icons-dx-typeface:5.0.1.3-kotlin@aar '
implementation ' com.mikepenz:phosphor-typeface:1.0.0.1-kotlin@aar '
implementation ' com.mikepenz:simple-icons-typeface:17.0.0.3@aar '
Note
Pour les utilisateurs du catalogue de versions, il n'est pas possible d'ajouter le type, cependant vous pouvez le faire via la définition d'implémentation. implementation(libs.material.typeface) { artifact { type = "aar" } }
Avertissement
Les polices utilisent la bibliothèque jetpack startup
pour s'enregistrer automatiquement. Si jetpack startup
est désactivé, il est nécessaire d'enregistrer manuellement les polices. Veuillez trouver des détails supplémentaires dans les polices de registre.
Note
Il peut être nécessaire d'appeler Iconics.init(applicationContext)
si aucune API basée sur le contexte n'est utilisée dans la bibliothèque.
IconicsDrawable ( this , FontAwesome . Icon .faw_android). apply {
colorInt = Color . RED
sizeDp = 24
}
Si vous utilisez la bibliothèque Iconics via XML, fournissez l'icône que vous souhaitez utiliser dans la syntaxe suivante : gmd-favorite
--> fontId
- iconName
. Une liste des polices disponibles et leur fontId
peuvent être trouvées ici. Tous les noms d'icônes des polices par défaut peuvent être trouvés via l'application DEMO.
Utilisez la syntaxe {
icon-definer }
Some great text with a {faw-android} font awesome icon and {met-wind} meteocons icons.
Spécifiez le dessinable dans votre dossier drawable
.
< com .mikepenz.iconics.IconicsDrawable
xmlns : app = " http://schemas.android.com/apk/res-auto "
app : ico_icon = " gmd_favorite "
app : ico_color = " #0000FF "
app : ico_contour_width = " 1dp "
app : ico_contour_color = " #00FFFF "
app : ico_size = " 24dp " />
// all custom theming attributes supported
Utilisez-le comme n'importe quel dessin normal dans votre application. Cette fonctionnalité a été suggérée et initialement fournie par @dzamlo
< com .mikepenz.iconics.view.IconicsImageView
android : layout_width = " 72dp "
android : layout_height = " 72dp "
app : iiv_color = " @android:color/holo_red_dark "
app : iiv_icon = " gmd-favorite " /> // or @string/gmd_favorite with our generator
//app:iiv_size="12dp"
//app:iiv_padding="2dp"
//app:iiv_contour_color="#FF0000"
//app:iiv_contour_width="2dp"
//app:iiv_background_color="#FFFF00"
//app:iiv_corner_radius="2dp"
//app:iiv_background_contour_color="#FF0000"
//app:iiv_background_contour_width="1dp"
//app:iiv_shadow_radius="4dp"
//app:iiv_shadow_dx="1dp"
//app:iiv_shadow_dy="1dp"
//app:iiv_animations="spin|blink_alpha|blink_scale"
< com .mikepenz.iconics.view.IconicsTextView
android : text = " abc{hif-test}defgh{faw-adjust}ijk{fon-test1}lmnopqrstuv{fon-test2}wxyz "
android : textColor = " @android:color/black "
android : layout_width = " wrap_content "
android : layout_height = " 56dp "
android : textSize = " 16sp " />
< com .mikepenz.iconics.view.IconicsButton
android : text = " {faw-adjust} Button "
android : layout_width = " 120dp "
android : layout_height = " 60dp " />
Pour inclure la prise en charge expérimentale de la composition dans votre projet, ajoutez la dépendance suivante à votre projet (depuis la v5.2.0)
implementation " com.mikepenz:iconics-compose: ${ latestAndroidIconicsRelease } "
Utilisez le wrapper Image
fourni et définissez l’icône.
Image (
GoogleMaterial . Icon .gmd_access_alarm,
colorFilter = ColorFilter .tint( MaterialTheme .colors.primary),
)
Lien | Préfixe | Dépendance |
---|---|---|
Icônes de conception matérielle Google **ORIGINAL par | ||
Google** | gmd, ogm, gmr, gms | implémentation 'com.mikepenz:google-material-typeface{-outlined,rounded,sharp}:+@aar' |
Police emblématique de conception matérielle **Matériel Google | ||
Iconique** | gmi | implémentation 'com.mikepenz:material-design-iconic-typeface:+@aar' |
Fontgénial | faou | implémentation 'com.mikepenz:fontawesome-typeface:+@aar' |
FontawesomeMarque | fabuleux | implémentation 'com.mikepenz:fontawesome-typeface:+@aar' |
FontawesomeRégulier | loin | implémentation 'com.mikepenz:fontawesome-typeface:+@aar' |
Météocons | rencontré | implémentation 'com.mikepenz:meteocons-typeface:+@aar' |
Octicons | octobre | implémentation 'com.mikepenz:octicons-typeface:+@aar' |
Matériel communautaire | cmd | implémentation 'com.mikepenz:community-material-typeface:+@aar' |
Icônes météo | wic | implémentation 'com.mikepenz:weather-icons-typeface:+@aar' |
Icônes de type | tapez | implémentation 'com.mikepenz:typeicons-typeface:+@aar' |
Entypo | ent | implémentation 'com.mikepenz:entypo-typeface:+@aar' |
Devicon | développeur | implémentation 'com.mikepenz:devicon-typeface:+@aar' |
Icônes de la Fondation | fou | implémentation 'com.mikepenz:foundation-icons-typeface:+@aar' |
Ioniques | ion | implémentation 'com.mikepenz:ionicons-typeface:+@aar' |
Pixden7AVC | pe7 | implémentation 'com.mikepenz:pixeden-7-stroke-typeface:+@aar' |
Conception matérielle DX | cmf | implémentation 'com.mikepenz:material-design-icons-dx-typeface:+@aar' |
Icônes de phosphore | photo | implémentation 'com.mikepenz:phosphor-typeface:+@aar' |
Icônes simples | sim | implémentation 'com.mikepenz:simple-icons-typeface:+@aar' |
Les licences pour toutes les polices incluses sont liées à l'intérieur de la classe ou peuvent être trouvées sur les référentiels correspondants.
Appcompat v1.4.x introduit la prise en charge des emoji activée par défaut dans toutes les vues AppCompat*
, ce qui empêche les vues IconicsView*
(module iconics-views) d'appliquer correctement le style fractionnable. Pour résoudre ce problème, la prise en charge des emoji doit être désactivée en procédant :
app:emojiCompatEnabled="false"
Plus d'informations sur la prise en charge des emoji appcompat : https://developer.android.com/jetpack/androidx/releases/appcompat#1.4.0-alpha01
Si vous souhaitez ajouter votre propre police personnalisée ou une GenericFont, vous devez enregistrer cette police (avant de l'utiliser). Le meilleur endroit pour le faire est l' Application
.
Et initialisez Iconics comme vous le souhaitez
class CustomApplication : Application () {
override fun onCreate () {
super .onCreate()
// register custom fonts like this (or also provide a font definition file)
Iconics .registerFont( CustomFont ())
}
}
Tout est facile et simple. Droite? Mais maintenant, vous avez une seule icône dans votre vue de texte et vous avez besoin d'un style supplémentaire ? Définissez simplement le style de toutes les icônes ou seulement d’une icône en particulier. Vous pouvez également le trouver dans le PlaygroundActivity de l’exemple.
Iconics . Builder ()
.style( ForegroundColorSpan ( Color . WHITE ), BackgroundColorSpan ( Color . BLACK ), RelativeSizeSpan ( 2f ))
.styleFor( FontAwesome . Icon .faw_adjust, BackgroundColorSpan ( Color . RED ))
.on(tv1)
.build()
Parfois, vous n'aimerez pas utiliser la touche icône ("faw-adjust") comme ceci, mais utilisez l'énumération fournie par une police spécifique. Les deux sont valables :
IconicsDrawable ( this , " faw-adjust " ).actionBar()
IconicsDrawable ( this , FontAwesome . Icon .faw_adjust). apply {
sizeDp = 24
paddingDp = 1
}
Ceci est possible avec uniquement les fichiers de mappage *.ttf et *.css. Et cela vous prendra 2 minutes.
Vous pouvez obtenir ces deux fichiers en téléchargeant une police d'icône Web, ou si vous souhaitez créer votre propre police d'icône personnalisée à partir de fichiers *.svg, vous pouvez utiliser les outils suivants :
Après avoir obtenu ces deux fichiers, rendez-vous sur l'outil de création de modules complémentaires d'icônes android-iconics.mikepenz.com. Entrez toutes les informations. Ajoutez les fichiers *.ttf et *.css et cliquez sur le bouton. Il générera et téléchargera le module complémentaire de police d'icône au format zip. (Cet outil est local uniquement, aucun fichier n'est envoyé à un serveur, vous pouvez l'utiliser en toute sécurité avec n'importe quelle icône)
Pour générer un champ de chaîne pour chacune des icônes de votre police, vous pouvez utiliser ce générateur simple : Android-Iconics String Generator
Un plugin Gradle génial qui peut récupérer automatiquement une police depuis Fontastic et générer le module Android pour votre projet. Générateur de polices iconiques
Les règles ProGuard/R8 sont regroupées en interne avec chaque police.
ContextWrapper
personnalisé dans CalligraphyMike Penz
Peter Goulko
Copyright 2021 Mike Penz
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.