...允許在您的專案中包含任何圖示字體及其所有向量圖示。沒有限制。無限制縮放、隨時使用任何顏色、提供輪廓以及許多其他自訂...
包含哪些內容 • 設定 • 遷移指南? • WIKI / 常見問題 • 自訂字體?
已有的字體
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 } "
筆記
以-kotlin
結尾的字體至少需要 v4.x 的 Android-Iconics v5.1.x 或更高版本需要最新的字體版本
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 '
筆記
對於版本目錄的用戶,無法新增類型,但是您可以透過實作定義來新增類型。 implementation(libs.material.typeface) { artifact { type = "aar" } }
警告
字體使用jetpack startup
庫自動註冊。如果jetpack startup
被停用,則需要手動註冊字體。請在註冊字體中找到更多詳細資訊。
筆記
如果程式庫中沒有使用基於上下文的 API,則可能需要呼叫Iconics.init(applicationContext)
。
IconicsDrawable ( this , FontAwesome . Icon .faw_android). apply {
colorInt = Color . RED
sizeDp = 24
}
如果您透過 XML 使用 Iconics 函式庫,請按以下語法提供要使用的圖示: gmd-favorite
--> fontId
- iconName
。可用字體及其fontId
的清單可以在此處找到。預設字體的所有圖示名稱都可以透過 DEMO 應用程式找到。
使用{
icon-definer }
語法
Some great text with a {faw-android} font awesome icon and {met-wind} meteocons icons.
在您的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
像應用程式中的任何普通可繪製物件一樣使用。此功能最初由@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 " />
要在您的專案中包含實驗性撰寫支持,請將以下依賴項新增至您的專案(自 v5.2.0 起)
implementation " com.mikepenz:iconics-compose: ${ latestAndroidIconicsRelease } "
使用提供的Image
包裝器並設定圖示。
Image (
GoogleMaterial . Icon .gmd_access_alarm,
colorFilter = ColorFilter .tint( MaterialTheme .colors.primary),
)
關聯 | 前綴 | 依賴性 |
---|---|---|
谷歌材料設計圖示 **原創者 | ||
Google** | gmd、基因改造、gmr、gms | 實作 'com.mikepenz:google-material-typeface{-outlined,rounded,sharp}:+@aar' |
Material Design 標誌性字體 **Google Material | ||
標誌性** | 吉米 | 實作 'com.mikepenz:material-design-iconic-typeface:+@aar' |
豐塔威索姆 | 一汽 | 實作 'com.mikepenz:fontawesome-typeface:+@aar' |
豐泰品牌 | 很棒的 | 實作 'com.mikepenz:fontawesome-typeface:+@aar' |
Fontawesome常規 | 遠的 | 實作 'com.mikepenz:fontawesome-typeface:+@aar' |
氣象學 | 遇見 | 實作 'com.mikepenz:meteocons-typeface:+@aar' |
奧克蒂康斯 | 十月 | 實作 'com.mikepenz:octicons-typeface:+@aar' |
社區材料 | 指令 | 實作 'com.mikepenz:community-material-typeface:+@aar' |
天氣圖示 | 威克 | 實作 'com.mikepenz:weather-icons-typeface:+@aar' |
打字圖示 | 典型值 | 實作 'com.mikepenz:typeicons-typeface:+@aar' |
恩泰普 | 耳鼻喉科 | 實作 'com.mikepenz:entypo-typeface:+@aar' |
德維康 | 開發者 | 實作 'com.mikepenz:devicon-typeface:+@aar' |
基礎圖示 | 纈 | 實作 'com.mikepenz:foundation-icons-typeface:+@aar' |
離子圖示 | 離子 | 實作 'com.mikepenz:ionicons-typeface:+@aar' |
Pixden7中風 | PE7 | 實作 'com.mikepenz:pixeden-7-行程-typeface:+@aar' |
材料設計DX | 厘米夫 | 實作 'com.mikepenz:material-design-icons-dx-typeface:+@aar' |
螢光粉圖標 | 河粉 | 實作“com.mikepenz:磷光字體:+@aar” |
簡單的圖標 | 模擬 | 實作 'com.mikepenz:simple-icons-typeface:+@aar' |
所有包含的字體的許可證都在類內部鏈接,或者可以在相應的存儲庫中找到。
Appcompat v1.4.x 在所有AppCompat*
視圖中引入了預設啟用的表情符號支持,這會阻止IconicsView*
視圖(iconics-views 模組)正確應用可跨越樣式。要解決此問題,必須透過執行以下操作來停用表情符號支援:
app:emojiCompatEnabled="false"
有關 appcompat 表情符號支援的更多資訊:https://developer.android.com/jetpack/androidx/releases/appcompat#1.4.0-alpha01
如果您想新增自己的自訂字體或 GenericFont,則必須註冊此字體(在使用之前)。執行此操作的最佳位置是Application
。
並根據需要初始化 Iconics
class CustomApplication : Application () {
override fun onCreate () {
super .onCreate()
// register custom fonts like this (or also provide a font definition file)
Iconics .registerFont( CustomFont ())
}
}
一切都很容易和簡單。正確的?但現在你的文字視圖中有一個圖標,你需要額外的樣式嗎?只需定義所有圖示的樣式或僅定義特定圖示的樣式。您也可以在範例的 PlaygroundActivity 中找到它。
Iconics . Builder ()
.style( ForegroundColorSpan ( Color . WHITE ), BackgroundColorSpan ( Color . BLACK ), RelativeSizeSpan ( 2f ))
.styleFor( FontAwesome . Icon .faw_adjust, BackgroundColorSpan ( Color . RED ))
.on(tv1)
.build()
有時您不喜歡像這樣使用圖示鍵(“faw-adjust”),而是使用特定字體提供的枚舉。兩者均有效:
IconicsDrawable ( this , " faw-adjust " ).actionBar()
IconicsDrawable ( this , FontAwesome . Icon .faw_adjust). apply {
sizeDp = 24
paddingDp = 1
}
僅使用 *.ttf 和 *.css 映射檔案即可實現此目的。並需要您 2 分鐘。
您可以透過下載網頁圖示字體來取得這兩個文件,或者如果您想從 *.svg 文件建立自己的自訂圖示字體,則可以使用下列工具:
取得這兩個檔案後,請造訪圖示外掛程式建立工具 android-iconics.mikepenz.com。輸入所有資訊。新增 *.ttf 和 *.css 並點選 按鈕。它將生成並下載圖標字體插件作為 zip。 (此工具僅限本機,不會將檔案傳送到伺服器,您可以安全地將其與任何圖示一起使用)
要為字體的每個圖示產生字串字段,您可以使用這個簡單的生成器:Android-Iconics String Generator
一個很棒的 gradle 插件,它可以自動從 Fontastic 獲取字體,並為您的專案生成 Android 模組。 Iconics-字型產生器
ProGuard / R8 規則與每種字體內部捆綁。
ContextWrapper
麥克·彭茨
彼得·古爾科
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.