... permite incluir cualquier fuente de ícono con todos sus íconos vectoriales en su proyecto. Sin límites. Escale sin límite , use cualquier color en cualquier momento, proporcione un contorno y muchas personalizaciones adicionales...
¿Qué incluye? • Configuración • ¿Guía de migración? • WIKI / Preguntas frecuentes • ¿Fuente personalizada? ️ • Aplicación de muestra
Fuentes ya 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 } "
Nota
Las fuentes que terminan en -kotlin
requieren al menos v4.x de Android-Iconics v5.1.x o posterior requieren las últimas versiones de fuentes
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 '
Nota
Para los usuarios del catálogo de versiones, no es posible agregar el tipo; sin embargo, puede hacerlo a través de la definición de implementación. implementation(libs.material.typeface) { artifact { type = "aar" } }
Advertencia
Las fuentes utilizan la biblioteca jetpack startup
para registrarse automáticamente. Si jetpack startup
está deshabilitado, es necesario registrar manualmente las fuentes. Encuentre detalles adicionales en Registrar fuentes.
Nota
De lo contrario, es posible que sea necesario llamar a Iconics.init(applicationContext)
si no se utilizan API basadas en contexto desde la biblioteca.
IconicsDrawable ( this , FontAwesome . Icon .faw_android). apply {
colorInt = Color . RED
sizeDp = 24
}
Si utiliza la biblioteca Iconics a través de XML, proporcione el icono que desea utilizar en la siguiente sintaxis: gmd-favorite
--> fontId
- iconName
. Puede encontrar una lista de las fuentes disponibles y su fontId
aquí. Todos los nombres de los iconos de las fuentes predeterminadas se pueden encontrar a través de la aplicación DEMO.
Utilice la sintaxis {
icon-definer }
Some great text with a {faw-android} font awesome icon and {met-wind} meteocons icons.
Especifique el elemento de diseño en su carpeta 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
Úselo como cualquier dibujable normal en su aplicación. Esta característica fue sugerida y proporcionada inicialmente por @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 " />
Para incluir el soporte de redacción experimental en su proyecto, agregue la siguiente dependencia a su proyecto (desde v5.2.0)
implementation " com.mikepenz:iconics-compose: ${ latestAndroidIconicsRelease } "
Utilice el contenedor de Image
proporcionado y configure el icono.
Image (
GoogleMaterial . Icon .gmd_access_alarm,
colorFilter = ColorFilter .tint( MaterialTheme .colors.primary),
)
Enlace | Prefijo | Dependencia |
---|---|---|
Iconos de Google Material Design **ORIGINAL de | ||
Google** | gmd,gmo,gmr,gms | implementación 'com.mikepenz:google-material-typeface{-outlined,rounded,sharp}:+@aar' |
Fuente icónica de Material Design **Material de Google | ||
Icónico** | gmi | implementación 'com.mikepenz:material-design-iconic-typeface:+@aar' |
fuente impresionante | faw | implementación 'com.mikepenz:fontawesome-typeface:+@aar' |
FontawesomeMarca | fabuloso | implementación 'com.mikepenz:fontawesome-typeface:+@aar' |
FontawesomeRegular | lejos | implementación 'com.mikepenz:fontawesome-typeface:+@aar' |
meteocons | conoció | implementación 'com.mikepenz:meteocons-typeface:+@aar' |
Octiconos | oct | implementación 'com.mikepenz:octicons-typeface:+@aar' |
Material comunitario | cmd | implementación 'com.mikepenz:community-material-typeface:+@aar' |
Iconos del tiempo | wic | implementación 'com.mikepenz:weather-icons-typeface:+@aar' |
Tipoiconos | tipo | implementación 'com.mikepenz:typeicons-typeface:+@aar' |
error tipográfico | ent | implementación 'com.mikepenz:entypo-typeface:+@aar' |
Devicón | desarrollador | implementación 'com.mikepenz:devicon-typeface:+@aar' |
Iconos de la Fundación | fou | implementación 'com.mikepenz:foundation-icons-typeface:+@aar' |
Ionicones | ion | implementación 'com.mikepenz:ionicons-typeface:+@aar' |
Pixden7Stroke | pe7 | implementación 'com.mikepenz:pixeden-7-stroke-typeface:+@aar' |
Diseño de materiales DX | cmf | implementación 'com.mikepenz:material-design-icons-dx-typeface:+@aar' |
Iconos de fósforo | pho | implementación 'com.mikepenz:phosphor-typeface:+@aar' |
Iconos simples | sim | implementación 'com.mikepenz:simple-icons-typeface:+@aar' |
Las licencias para todas las fuentes incluidas están vinculadas dentro de la clase o se pueden encontrar en los repositorios correspondientes.
Appcompat v1.4.x introduce compatibilidad con emoji habilitada de forma predeterminada en todas las vistas AppCompat*
, lo que evita que las vistas IconicsView*
(módulo de vistas icónicas) apliquen correctamente el estilo expandible. Para solucionar este problema, la compatibilidad con emoji debe desactivarse haciendo lo siguiente:
app:emojiCompatEnabled="false"
Más información sobre la compatibilidad con emoji de appcompat: https://developer.android.com/jetpack/androidx/releases/appcompat#1.4.0-alpha01
Si desea agregar su propia fuente personalizada o una GenericFont, debe registrar esta fuente (antes de usarla). El mejor lugar para hacerlo es la Application
.
E inicializa Iconics como desees
class CustomApplication : Application () {
override fun onCreate () {
super .onCreate()
// register custom fonts like this (or also provide a font definition file)
Iconics .registerFont( CustomFont ())
}
}
Todo es fácil y sencillo. ¿Bien? ¿Pero ahora tienes un solo ícono dentro de tu vista de texto y necesitas un estilo adicional? Simplemente define el estilo para todos los íconos o solo uno específico. También puede encontrar esto en PlaygroundActivity del ejemplo.
Iconics . Builder ()
.style( ForegroundColorSpan ( Color . WHITE ), BackgroundColorSpan ( Color . BLACK ), RelativeSizeSpan ( 2f ))
.styleFor( FontAwesome . Icon .faw_adjust, BackgroundColorSpan ( Color . RED ))
.on(tv1)
.build()
A veces no te gustará usar la tecla de icono ("faw-adjust") de esta manera, sino usar la enumeración proporcionada por una fuente específica. Ambos son válidos:
IconicsDrawable ( this , " faw-adjust " ).actionBar()
IconicsDrawable ( this , FontAwesome . Icon .faw_adjust). apply {
sizeDp = 24
paddingDp = 1
}
Esto es posible sólo con el archivo de mapeo *.ttf y *.css. Y te llevará 2 minutos.
Puede obtener estos dos archivos descargando una fuente de ícono web, o si desea crear su propia fuente de ícono personalizada a partir de archivos *.svg, puede usar las siguientes herramientas:
Después de obtener esos dos archivos, dirígete a la herramienta de creación de complementos de íconos android-iconics.mikepenz.com. Introduce toda la información. Agregue *.ttf y *.css y haga clic en el botón. Generará y descargará el complemento de fuente de íconos como zip. (Esta herramienta es solo local, no se envían archivos a un servidor, puedes usarla de forma segura con cualquier ícono)
Para generar un campo de cadena para cada uno de los íconos de su fuente, puede usar este generador simple: Android-Iconics String Generator
Un increíble complemento de Gradle que puede recuperar automáticamente una fuente de Fontastic y generar el módulo de Android para su proyecto. Generador de fuentes icónicas
Las reglas de ProGuard/R8 se incluyen internamente con cada fuente.
ContextWrapper
personalizado dentro de Calligraphy.Mike Penz
Peter Gulko
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.