... 프로젝트에 모든 벡터 아이콘과 함께 모든 아이콘 글꼴을 포함할 수 있습니다. 제한이 없습니다. 제한 없이 확장하고 , 언제든지 원하는 색상을 사용하고, 윤곽 을 제공하고, 다양한 추가 사용자 정의...
포함된 내용 • 설정 • 마이그레이션 가이드? • 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을 통해 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
폴더에 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 머티리얼 디자인 아이콘 **ORIGINAL by | ||
Google** | gmd,gmo,gmr,gms | 구현 'com.mikepenz:google-material-typeface{-outlined,rounded,sharp}:+@aar' |
머티리얼 디자인 아이코닉 글꼴 **Google Material | ||
상의** | gmi | 구현 'com.mikepenz:material-design-iconic-typeface:+@aar' |
폰타굉장하다 | 아야 | 구현 'com.mikepenz:fontawesome-typeface:+@aar' |
Fontawesome브랜드 | 팹 | 구현 'com.mikepenz:fontawesome-typeface:+@aar' |
FontawesomeRegular | 멀리 | 구현 'com.mikepenz:fontawesome-typeface:+@aar' |
메테오콘 | 만났다 | 구현 'com.mikepenz:meteocons-typeface:+@aar' |
옥티콘 | 10월 | 구현 'com.mikepenz:octicons-typeface:+@aar' |
커뮤니티 자료 | cmd | 구현 'com.mikepenz:community-material-typeface:+@aar' |
날씨 아이콘 | Wic | 구현 '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' |
Pixden7Stroke | pe7 | 구현 'com.mikepenz:pixeden-7-Stroke-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 ())
}
}
모든 것이 쉽고 간단합니다. 오른쪽? 하지만 이제 텍스트 뷰 내에 단일 아이콘이 생겼고 추가 스타일이 필요합니까? 모든 아이콘에 대한 스타일을 정의하거나 특정 아이콘에만 스타일을 정의하면 됩니다. 샘플의 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
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.