... memungkinkan untuk memasukkan font ikon apa pun dengan semua ikon vektornya ke dalam proyek Anda. Tidak ada batasan. Skala tanpa batas , gunakan warna apa pun kapan saja, berikan kontur , dan banyak penyesuaian tambahan...
Apa saja yang disertakan • Penyiapan • Panduan Migrasi? • WIKI / FAQ • Font Khusus ?️ • Contoh Aplikasi
Font sudah tersedia
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 } "
Catatan
Font yang diakhiri dengan -kotlin
memerlukan setidaknya Android-Iconics v4.x v5.1.x atau lebih baru memerlukan versi font terbaru
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 '
Catatan
Untuk pengguna katalog versi, tidak mungkin menambahkan tipenya, namun Anda dapat melakukannya melalui definisi implementasi. implementation(libs.material.typeface) { artifact { type = "aar" } }
Peringatan
Font tersebut menggunakan pustaka jetpack startup
untuk mendaftarkan dirinya secara otomatis. Jika jetpack startup
dinonaktifkan, font harus didaftarkan secara manual. Silakan temukan detail tambahan di Daftarkan font.
Catatan
Mungkin diperlukan untuk memanggil Iconics.init(applicationContext)
jika tidak ada API berbasis konteks yang digunakan dari perpustakaan.
IconicsDrawable ( this , FontAwesome . Icon .faw_android). apply {
colorInt = Color . RED
sizeDp = 24
}
Jika Anda menggunakan perpustakaan Iconics melalui XML, berikan ikon yang ingin Anda gunakan dalam sintaks berikut: gmd-favorite
--> fontId
- iconName
. Daftar font yang tersedia dan fontId
dapat ditemukan di sini. Semua nama icon dari font bawaan dapat ditemukan melalui aplikasi DEMO.
Gunakan sintaksis {
icon-definer }
Some great text with a {faw-android} font awesome icon and {met-wind} meteocons icons.
Tentukan drawable di folder drawable
Anda.
< 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
Gunakan seperti sumber daya dapat digambar pada umumnya di aplikasi Anda. Fitur ini disarankan dan awalnya disediakan oleh @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 " />
Untuk menyertakan dukungan penulisan eksperimental dalam proyek Anda, tambahkan ketergantungan berikut ke proyek Anda (sejak v5.2.0)
implementation " com.mikepenz:iconics-compose: ${ latestAndroidIconicsRelease } "
Gunakan pembungkus Image
yang disediakan dan atur ikonnya.
Image (
GoogleMaterial . Icon .gmd_access_alarm,
colorFilter = ColorFilter .tint( MaterialTheme .colors.primary),
)
Link | Awalan | Ketergantungan |
---|---|---|
Ikon Desain Material Google **ASLI oleh | ||
Google** | gmd, gmo, gmr, gm | penerapan 'com.mikepenz:google-material-typeface{-outlined,rounded,sharp}:+@aar' |
Font Ikonik Desain Material **Materi Google | ||
Ikonik** | gmi | implementasi 'com.mikepenz:material-design-iconic-typeface:+@aar' |
Sangat bagus | fa | implementasi 'com.mikepenz:fontawesome-typeface:+@aar' |
FontawesomeMerek | hebat | implementasi 'com.mikepenz:fontawesome-typeface:+@aar' |
FontawesomeReguler | jauh | implementasi 'com.mikepenz:fontawesome-typeface:+@aar' |
Metekon | bertemu | implementasi 'com.mikepenz:meteocons-typeface:+@aar' |
oktikon | Oktober | implementasi 'com.mikepenz:octicons-typeface:+@aar' |
Materi Komunitas | cmd | implementasi 'com.mikepenz:community-material-typeface:+@aar' |
Ikon Cuaca | wic | implementasi 'com.mikepenz:weather-icons-typeface:+@aar' |
ikon ketik | ketik | implementasi 'com.mikepenz:typeicons-typeface:+@aar' |
kesalahan ketik | masuk | implementasi 'com.mikepenz:entypo-typeface:+@aar' |
Devikon | dev | implementasi 'com.mikepenz:devicon-typeface:+@aar' |
Ikon Fondasi | empat | implementasi 'com.mikepenz:foundation-icons-typeface:+@aar' |
ionikon | ion | implementasi 'com.mikepenz:ionicons-typeface:+@aar' |
Pixden7Stroke | pe7 | implementasi 'com.mikepenz:pixeden-7-stroke-typeface:+@aar' |
Desain Bahan DX | cmf | implementasi 'com.mikepenz:material-design-icons-dx-typeface:+@aar' |
Ikon Fosfor | telepon | implementasi 'com.mikepenz:fosfor-jenis huruf:+@aar' |
Ikon Sederhana | sim | implementasi 'com.mikepenz:simple-icons-typeface:+@aar' |
Lisensi untuk semua font yang disertakan ditautkan di dalam kelas atau dapat ditemukan di repositori terkait.
Appcompat v1.4.x memperkenalkan dukungan emoji yang diaktifkan secara default ke semua tampilan AppCompat*
, yang mencegah tampilan IconicsView*
(modul tampilan ikon) menerapkan gaya spannable dengan benar. Untuk memperbaiki masalah ini, dukungan emoji harus dinonaktifkan dengan melakukan:
app:emojiCompatEnabled="false"
Informasi lebih lanjut tentang dukungan emoji appcompat: https://developer.android.com/jetpack/androidx/releases/appcompat#1.4.0-alpha01
Jika Anda ingin menambahkan font khusus Anda sendiri, atau GenericFont Anda harus mendaftarkan font ini (sebelum menggunakannya). Tempat terbaik untuk melakukan ini adalah Application
.
Dan inisialisasi Iconics sesuai keinginan
class CustomApplication : Application () {
override fun onCreate () {
super .onCreate()
// register custom fonts like this (or also provide a font definition file)
Iconics .registerFont( CustomFont ())
}
}
Semuanya mudah dan sederhana. Benar? Tapi sekarang Anda punya satu ikon dalam tampilan teks dan Anda memerlukan gaya tambahan? Cukup tentukan gaya untuk semua ikon atau hanya ikon tertentu. Anda juga dapat menemukannya di PlaygroundActivity sampel.
Iconics . Builder ()
.style( ForegroundColorSpan ( Color . WHITE ), BackgroundColorSpan ( Color . BLACK ), RelativeSizeSpan ( 2f ))
.styleFor( FontAwesome . Icon .faw_adjust, BackgroundColorSpan ( Color . RED ))
.on(tv1)
.build()
Terkadang Anda tidak ingin menggunakan tombol ikon ("penyesuaian faw") seperti ini, tetapi gunakan enum yang disediakan oleh font tertentu. Keduanya valid:
IconicsDrawable ( this , " faw-adjust " ).actionBar()
IconicsDrawable ( this , FontAwesome . Icon .faw_adjust). apply {
sizeDp = 24
paddingDp = 1
}
Hal ini dimungkinkan hanya dengan file pemetaan *.ttf dan *.css. Dan akan memakan waktu 2 menit.
Anda bisa mendapatkan kedua file ini dengan mengunduh font ikon web, atau jika Anda ingin membuat font ikon kustom Anda sendiri dari file *.svg maka Anda dapat menggunakan alat berikut:
Setelah Anda mendapatkan kedua file tersebut, buka alat pembuatan addon ikon android-iconics.mikepenz.com. Masukkan semua informasi. Tambahkan *.ttf dan *.css dan klik tombol. Ini akan menghasilkan dan mengunduh addon font ikon sebagai zip. (alat ini hanya bersifat lokal, tidak ada file yang dikirim ke server, Anda dapat menggunakannya dengan aman dengan ikon apa pun)
Untuk menghasilkan bidang string untuk setiap ikon font Anda, Anda dapat menggunakan generator sederhana ini: Android-Iconics String Generator
Plugin gradle mengagumkan yang secara otomatis dapat mengambil font dari Fontastic, dan menghasilkan Modul Android untuk proyek Anda. Ikonik-Font-Generator
Aturan ProGuard / R8 digabungkan secara internal dengan setiap font.
ContextWrapper
khusus di dalam KaligrafiMike 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.