... ermöglicht es, jede Symbolschrift mit allen ihren Vektorsymbolen in Ihr Projekt einzubinden. Keine Grenzen. Skalieren Sie unbegrenzt , verwenden Sie jederzeit jede beliebige Farbe , erstellen Sie eine Kontur und viele zusätzliche Anpassungen ...
Was ist enthalten: • Einrichtung • Migrationshandbuch? • WIKI / FAQ • Benutzerdefinierte Schriftart ?️ • Beispiel-App
Bereits verfügbare Schriftarten
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 } "
Notiz
Schriftarten, die mit -kotlin
enden, erfordern mindestens v4.x von Android-Iconics v5.1.x oder neuer erfordert die neuesten Schriftartenversionen
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 '
Notiz
Für Benutzer des Versionskatalogs ist das Hinzufügen des Typs nicht möglich, Sie können dies jedoch über die Implementierungsdefinition tun. implementation(libs.material.typeface) { artifact { type = "aar" } }
Warnung
Die Schriftarten verwenden die jetpack startup
Startbibliothek, um sich automatisch zu registrieren. Wenn jetpack startup
deaktiviert ist, müssen die Schriftarten manuell registriert werden. Weitere Details finden Sie im Abschnitt Schriftarten registrieren.
Notiz
Es kann erforderlich sein, Iconics.init(applicationContext)
aufzurufen, wenn andernfalls keine kontextbasierten APIs aus der Bibliothek verwendet werden.
IconicsDrawable ( this , FontAwesome . Icon .faw_android). apply {
colorInt = Color . RED
sizeDp = 24
}
Wenn Sie die Iconics-Bibliothek über XML verwenden, geben Sie das Symbol, das Sie verwenden möchten, in der folgenden Syntax an: gmd-favorite
--> fontId
- iconName
. Eine Liste der verfügbaren Schriftarten und deren fontId
finden Sie hier. Alle Symbolnamen der Standardschriftarten können über die DEMO-Anwendung gefunden werden.
Verwenden Sie die Syntax {
icon-definer }
Some great text with a {faw-android} font awesome icon and {met-wind} meteocons icons.
Geben Sie das Drawable in Ihrem drawable
-Ordner an.
< 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
Verwenden Sie es wie jedes normale Zeichenelement in Ihrer Anwendung. Diese Funktion wurde von @dzamlo vorgeschlagen und ursprünglich bereitgestellt
< 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 " />
Um die experimentelle Compose-Unterstützung in Ihr Projekt einzubinden, fügen Sie die folgende Abhängigkeit zu Ihrem Projekt hinzu (seit v5.2.0)
implementation " com.mikepenz:iconics-compose: ${ latestAndroidIconicsRelease } "
Verwenden Sie den bereitgestellten Image
Wrapper und legen Sie das Symbol fest.
Image (
GoogleMaterial . Icon .gmd_access_alarm,
colorFilter = ColorFilter .tint( MaterialTheme .colors.primary),
)
Link | Präfix | Abhängigkeit |
---|---|---|
Google Material Design Icons **ORIGINAL von | ||
Google** | gmd,gmo,gmr,gms | Implementierung 'com.mikepenz:google-material-typeface{-outlined,rounded,sharp}:+@aar' |
Ikonische Schriftart „Material Design“ **Google Material | ||
Ikonisch** | gmi | Implementierung 'com.mikepenz:material-design-iconic-typeface:+@aar' |
Fontawesome | faw | Implementierung 'com.mikepenz:fontawesome-typeface:+@aar' |
FontawesomeMarke | fabelhaft | Implementierung 'com.mikepenz:fontawesome-typeface:+@aar' |
FontawesomeRegular | weit | Implementierung 'com.mikepenz:fontawesome-typeface:+@aar' |
Meteokonen | traf | Implementierung 'com.mikepenz:meteocons-typeface:+@aar' |
Oktikone | Okt | Implementierung 'com.mikepenz:octicons-typeface:+@aar' |
Community-Material | cmd | Implementierung 'com.mikepenz:community-material-typeface:+@aar' |
Wettersymbole | wic | Implementierung 'com.mikepenz:weather-icons-typeface:+@aar' |
Typeicons | typ | Implementierung 'com.mikepenz:typeicons-typeface:+@aar' |
Entypo | ent | Implementierung 'com.mikepenz:entypo-typeface:+@aar' |
Devicon | Entwickler | Implementierung 'com.mikepenz:devicon-typeface:+@aar' |
Stiftungssymbole | fou | Implementierung 'com.mikepenz:foundation-icons-typeface:+@aar' |
Ionicons | Ion | Implementierung 'com.mikepenz:ionicons-typeface:+@aar' |
Pixden7Stroke | pe7 | Implementierung 'com.mikepenz:pixeden-7-Stroke-Typeface:+@aar' |
Materialdesign DX | cmf | Implementierung 'com.mikepenz:material-design-icons-dx-typeface:+@aar' |
Phosphor-Symbole | Pho | Implementierung 'com.mikepenz:phosphor-typeface:+@aar' |
Einfache Symbole | sim | Implementierung 'com.mikepenz:simple-icons-typeface:+@aar' |
Lizenzen für alle enthaltenen Schriftarten sind innerhalb der Klasse verlinkt oder können in den entsprechenden Repositories gefunden werden.
Appcompat v1.4.x führt standardmäßig aktivierte Emoji-Unterstützung in allen AppCompat*
-Ansichten ein, was verhindert, dass die IconicsView*
-Ansichten (iconics-views-Modul) den übergreifenden Stil ordnungsgemäß anwenden. Um dieses Problem zu beheben, muss die Emoji-Unterstützung wie folgt deaktiviert werden:
app:emojiCompatEnabled="false"
Weitere Informationen zur Appcompat-Emoji-Unterstützung: https://developer.android.com/jetpack/androidx/releases/appcompat#1.4.0-alpha01
Wenn Sie Ihre eigene benutzerdefinierte Schriftart oder eine generische Schriftart hinzufügen möchten, müssen Sie diese Schriftart registrieren (bevor Sie sie verwenden). Der beste Ort hierfür ist die Application
.
Und initialisieren Sie Iconics nach Ihren Wünschen
class CustomApplication : Application () {
override fun onCreate () {
super .onCreate()
// register custom fonts like this (or also provide a font definition file)
Iconics .registerFont( CustomFont ())
}
}
Alles ist einfach und unkompliziert. Rechts? Aber jetzt haben Sie ein einzelnes Symbol in Ihrer Textansicht und benötigen zusätzliches Styling? Definieren Sie einfach den Stil für alle Symbole oder nur für ein bestimmtes. Sie finden dies auch in der PlaygroundActivity des Beispiels.
Iconics . Builder ()
.style( ForegroundColorSpan ( Color . WHITE ), BackgroundColorSpan ( Color . BLACK ), RelativeSizeSpan ( 2f ))
.styleFor( FontAwesome . Icon .faw_adjust, BackgroundColorSpan ( Color . RED ))
.on(tv1)
.build()
Manchmal möchten Sie die Symboltaste („faw-adjust“) nicht so verwenden, sondern die von einer bestimmten Schriftart bereitgestellte Aufzählung verwenden. Beides gilt:
IconicsDrawable ( this , " faw-adjust " ).actionBar()
IconicsDrawable ( this , FontAwesome . Icon .faw_adjust). apply {
sizeDp = 24
paddingDp = 1
}
Dies ist nur mit der Mapping-Datei *.ttf und *.css möglich. Und es dauert 2 Minuten.
Sie können diese beiden Dateien erhalten, indem Sie eine Web-Symbolschriftart herunterladen. Wenn Sie Ihre eigene benutzerdefinierte Symbolschriftart aus *.svg-Dateien erstellen möchten, können Sie die folgenden Tools verwenden:
Nachdem Sie diese beiden Dateien erhalten haben, gehen Sie zum Symbol-Addon-Erstellungstool android-iconics.mikepenz.com. Geben Sie alle Informationen ein. Fügen Sie *.ttf und *.css hinzu und klicken Sie auf die Schaltfläche. Das Icon-Font-Add-on wird generiert und als ZIP-Datei heruntergeladen. (Dieses Tool ist nur lokal, es werden keine Dateien an einen Server gesendet, Sie können es sicher mit allen Symbolen verwenden)
Zum Generieren eines Zeichenfolgenfelds für jedes Symbol Ihrer Schriftart können Sie diesen einfachen Generator verwenden: Android-Iconics String Generator
Ein fantastisches Gradle-Plugin, das automatisch eine Schriftart von Fontastic abrufen und das Android-Modul für Ihr Projekt generieren kann. Iconics-Font-Generator
ProGuard/R8-Regeln werden intern mit jeder Schriftart gebündelt.
ContextWrapper
in KalligraphieMike 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.