... アイコン フォントとそのすべてのベクター アイコンをプロジェクトに含めることができます。制限はありません。制限なしで拡大縮小したり、いつでも任意の色を使用したり、輪郭を提供したり、その他の多くのカスタマイズを行ったりできます...
含まれるもの • セットアップ • 移行ガイド ? • WIKI / FAQ • カスタムフォント ?️ • サンプルアプリ
すでに利用可能なフォント
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 経由でアイコン ライブラリを使用する場合は、使用するアイコンを次の構文で指定します: 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 マテリアル デザイン アイコン **オリジナル by | ||
グーグル** | gmd、gmo、gmr、gms | 実装 'com.mikepenz:google-material-typeface{-outlined,rounded,sharp}:+@aar' |
マテリアル デザインの象徴的なフォント **Google マテリアル | ||
象徴的な** | グミ | 実装 'com.mikepenz:material-design-iconic-typeface:+@aar' |
すばらしい | フォー | 実装「com.mikepenz:fontawesome-typeface:+@aar」 |
素晴らしいブランド | すばらしい | 実装「com.mikepenz:fontawesome-typeface:+@aar」 |
素晴らしいレギュラー | 遠い | 実装「com.mikepenz:fontawesome-typeface:+@aar」 |
メテオコン | 会った | 実装「com.mikepenz:meteocons-typeface:+@aar」 |
オクティコン | 10月 | 実装「com.mikepenz:octicons-typeface:+@aar」 |
コミュニティ資料 | cmd | 実装 '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-stroking-typeface:+@aar' |
マテリアルデザインDX | cmf | 実装 'com.mikepenz:material-design-icons-dx-typeface:+@aar' |
蛍光体のアイコン | フォー | 実装「com.mikepenz:phosphor-typeface:+@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 ())
}
}
すべてが簡単でシンプルです。右?しかし、テキストビュー内にアイコンが 1 つだけ追加されたので、追加のスタイルが必要ですか?すべてのアイコンまたは特定のアイコンのみのスタイルを定義するだけです。これはサンプルの 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 分です。
これら 2 つのファイルは、Web アイコン フォントをダウンロードすることで入手できます。または、*.svg ファイルから独自のカスタム アイコン フォントを作成する場合は、次のツールを使用できます。
これら 2 つのファイルを入手したら、アイコン アドオン作成ツール android-iconics.mikepenz.com に移動します。すべての情報を入力します。 *.ttf と *.css を追加し、ボタンをクリックします。アイコンフォントアドオンが生成され、zipとしてダウンロードされます。 (このツールはローカルのみであり、ファイルはサーバーに送信されません。どのアイコンでも安全に使用できます)
フォントのアイコンごとに文字列フィールドを生成するには、この単純なジェネレーターを使用できます: Android-Iconics String Generator
Fontastic からフォントを自動的に取得し、プロジェクト用の Android モジュールを生成できる素晴らしい Gradle プラグイン。アイコニックス フォント ジェネレーター
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.