Android Iconics

2025-12-11 0 445

Android-Iconics

…允许在您的项目中包含任何具有其所有向量图标的图标字体。没有限制。毫无局限的比例,随时使用任何颜色,提供轮廓和许多其他自定义


包括的内容•设置•迁移指南?•Wiki / FAQ•自定义字体?️•示例应用程序


包括什么

  • 没有自定义限制(尺寸,颜色,轮廓,背景,填充,定位,…)
  • 阴影支持
  • 用作XML绘制的启动API 24
  • 一个图标来源(不再有MDPI,HDPI,…)
  • 灵活性
    • 尺寸
    • 颜色
    • 轮廓
    • 阴影
    • RTL的自动镜像(选择加入)
  • 如果需要绘制,它也将与IconicsDrawable一起使用!
  • 节省APK尺寸
  • 组成支持

已经可用的字体

  • Google材料设计图标
  • 材料设计标志性字体
  • fontawesome
  • meteocon
  • 八孔
  • 社区材料
  • 天气图标
  • 类型
  • Entypo
  • 德文
  • 基础图标
  • 离子
  • 材料设计DX
  • Pixeden 7中风
  • 简单图标
  • 或使用所需的任何图标创建自己的字体。

设置

最新版本?

  • Kotlin | v5.4.0
  • 预释放| v5.5.0-b01

1。提供Gradle依赖

 dependencies {
    // the core iconics library (without any widgets)
    implementation \" com.mikepenz:iconics-core: ${ latestAndroidIconicsRelease } \"
    implementation \" androidx.appcompat:appcompat: ${ versions.appCompat } \"
}

1B。 (可选)添加视图的依赖性

 // this adds all ui view widgets (IconicsButton, IconicsImageView, ...)
implementation \" com.mikepenz:iconics-views: ${ latestAndroidIconicsRelease } \" 

2。选择您所需的字体

笔记

-kotlin结尾的字体至少需要Android -Iconics v5.1.x或更新的v4.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使用

如果您通过XML使用ICONICS库,则提供您要在以下语法中使用的图标: gmd-favorite > fontId iconName 。可以在此处找到可用字体及其fontId的列表。默认字体中的所有图标名称均可通过演示应用程序找到。

文本中的符号

使用{ Icon-Definer }语法

 Some great text with a {faw-android} font awesome icon and {met-wind} meteocons icons.

可绘制的XML(API 24+)

drawable文件夹中指定可绘制的内容。

< com .mikepenz.iconics.IconicsDrawable
    xmlns : app = \" http://schemas.an*dr**oid.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提出并最初提供

自定义视图

作为IconicsImageView

< 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\"

作为IconicStextView

< 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 \" />

作为IconicsButton

< 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,GMO,GMR,GMS 实现\’com.mikepenz:Google-Material-typeface {-outlined,flound,Sharp}:+@aar\’
材料设计标志性字体** Google材料
标志性** GMI 实现\’com.mikepenz:材料 – 启示 – 偶像式式:+@aar\’
fontawesome faw 实现\’com.mikepenz:fontawesome-typeface:+@aar\’
fontawesomebrand 工厂 实现\’com.mikepenz:fontawesome-typeface:+@aar\’
fontawesomerepular 远的 实现\’com.mikepenz:fontawesome-typeface:+@aar\’
meteocon 见面 实现\’com.mikepenz:meteocons-typeface:+@aar\’
八孔 十月 实现\’com.mikepenz:octicons-typeface:+@aar\’
社区材料 CMD 实施\’com.mikepenz:社区 – 材料型面:+@aar\’
天气图标 WIC 实施\’com.mikepenz:weather-icons-typeface:+@aar\’
类型 typ 实现\’com.mikepenz:typeicons-typeface:+@aar\’
Entypo 恩特 实现\’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:材料design-icons-dx-typeface:+@aar\’
磷图标 pho 实现\’com.mikepenz:磷光型:+@aar\’
简单图标 SIM 实现\’com.mikepenz:simple-icons-typeface:+@aar\’

所有包含字体的许可证都链接在班级内部,或者可以在coresporting存储库中找到。

兼容性注释

AppCompat:1.4.x

AppCompat v1.4.x将默认启用的表情符号支持引入所有AppCompat*视图,该视图阻止了IconicsView* views(Iconics-Views模块)正确应用跨度样式。要解决此问题,必须通过执行以下操作表情符号支持:

app:emojiCompatEnabled=\"false\"

有关AppCompat表情符号支持的更多信息:https://developer.android.com/jetpack/androidx/releases/appcompat#1.4.0-alpha01

高级用法

注册字体

如果要添加自己的自定义字体或通用字体,则必须注册此字体(在使用它之前)。最好的地方是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 ())
    }
}

高级IconicsBuilder

一切都很简单。正确的?但是现在您在文本视图中获得了一个图标,并且需要其他样式?只需定义所有图标或仅特定图标的样式即可。您也可以在样本的游乐场活动中找到这一点。

 Iconics . Builder ()
    .style( ForegroundColorSpan ( Color . WHITE ), BackgroundColorSpan ( Color . BLACK ), RelativeSizeSpan ( 2f ))
    .styleFor( FontAwesome . Icon .faw_adjust, BackgroundColorSpan ( Color . RED ))
    .on(tv1)
    .build()

字符串图标键或字体枚举

有时,您不喜欢使用像这样的图标键(“ faw-unjust”),而是使用特定字体提供的枚举。两者都是有效的:

 IconicsDrawable ( this , \" faw-adjust \" ).actionBar()
 IconicsDrawable ( this , FontAwesome . Icon .faw_adjust). apply {
    sizeDp = 24
    paddingDp = 1
}

创建自定义字体

仅使用 *.ttf和 *.css映射文件,这是可能的。并将带您2分钟。

您可以通过下载Web图标字体获取这两个文件,或者如果要从 *.svg文件创建自己的自定义图标字体,则可以使用以下工具:

  • fontello
  • Icomoon
  • 传说
  • 如果您找到其他工具,请让我知道。

收到这两个文件后,请转到图标插件创建工具Android-iconics.mikepenz.com。输入所有信息。添加 *.ttf和 *.css,然后单击按钮。它将生成并下载图标字体插件作为zip。 (此工具仅是本地的,没有将文件发送到服务器,您可以与任何图标安全地使用它)

图标的字符串字段

对于为字体的每个图标生成字符串字段,您可以使用此简单的生成器:Android-Iconics String Generator

Android模块发生器

一个很棒的Gradle插件,可以自动从字体获取字体,并为您的项目生成Android模块。 Iconics-Font Generator

proguard / r8

proguard / r8规则与每种字体内部捆绑在一起。

特别贡献者

  • Baptiste Lagache感谢Gradle字体模块生成器
  • 还要感谢所有其他贡献者。

学分

  • 琼·扎帕塔(Joan Zapata)是Android-Iconify的创建者,这给了我这个项目的想法。一些核心概念和想法被重复使用,但一切都是从头开始写的。
  • 克里斯托弗·詹金斯ContextWrapper Christopher Jenkins
  • 斯蒂芬·舒伯(Stephan Schober)

开发

  • 迈克·彭兹(Mike Penz)

    • mikepenz.dev -blog.mikepenz.dev -mikepenz@gmail.com
    • paypal.me/mikepenz
    • 自动变更生成动作
  • 彼得·古尔科

    • github.com/ztrap

执照

 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.*a*p*ache.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.

下载源码

通过命令行克隆项目:

git clone https://github.com/mikepenz/Android-Iconics.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 建站资源 Android Iconics https://www.zuozi.net/35367.html

markdown ninja
上一篇: markdown ninja
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务