震驚!Icon使用極其簡單? Android-Iconics 開源庫介紹

2021-02-16 開發者全社區

熱文導讀 | 點擊標題閱讀

歡迎加入Java和Android架構知識星球

淺談Android發展趨勢分析

程式設計師如何進階成為大神?

作者:hongjay
連結:https://www.jianshu.com/p/5658a19a66e5

前情提要:公司不讓UI乾重活,讓我自己找圖標。然後推薦使用這個開源庫。優質Icon多到數不清,還可以隨意修改icon的顏色,大小,使用起來略爽。簡書和掘金上搜不到相關博客,踩了點坑,凡事只能靠自己啊。

項目demo地址請點擊這裡:https://github.com/zjxuzhj/IconFontDemo

一、添加依賴

compile "com.mikepenz:iconics-core:2.8.2@aar"compile 'com.android.support:appcompat-v7:25.1.0'

二、選擇需要依賴的圖標庫

每個圖標庫都有自己的網站,可以在上面挑選自己喜歡的圖標,查找對應的圖標id
Font Awesome:http://fontawesome.dashgame.com/

ionicons:http://ionicons.com/

已Font Awesome 為例

三、icon前綴和依賴庫對應表

Google Material Design Icons
"gmd"
ORIGINAL by Google compile 'com.mikepenz:google-material-typeface:+.original@aar'

Material Design Iconic Font
"gmi"
Google Material Iconic compile 'com.mikepenz:material-design-iconic-typeface:+@aar'

Fontawesome
"faw"
compile 'com.mikepenz:fontawesome-typeface:+@aar'

Meteocons
"met"
compile 'com.mikepenz:meteocons-typeface:+@aar'

Octicons
"oct"
compile 'com.mikepenz:octicons-typeface:+@aar'

Community Material
"cmd"
compile 'com.mikepenz:community-material-typeface:+@aar'

Weather Icons
"wic"
compile 'com.mikepenz:weather-icons-typeface:+@aar'

Typeicons
"typ"
compile 'com.mikepenz:typeicons-typeface:+@aar'

Entypo
"ent"
compile 'com.mikepenz:entypo-typeface:+@aar'

Devicon
"dev"
compile 'com.mikepenz:devicon-typeface:+@aar'

Foundation Icons
"fou"
compile 'com.mikepenz:foundation-icons-typeface:+@aar'

Ionicons
"ion"
compile 'com.mikepenz:ionicons-typeface:+@aar'

四、以Drawable方式使用(在代碼中動態替換圖片)

new IconicsDrawable(this)
.icon(FontAwesome.Icon.faw_android)  //icon Id
.color(Color.RED)
.sizeDp(24) //icon 大小 dp值

五、直接在XML文件中使用

使用開源庫自定義的控制項

使用普通控制項(需要註冊)
有兩種方法

在onCreate函數中加入代碼

然後就可以使用了

六、這裡有一個坑

在所有步驟都正確完成後,AS還是會紅線報錯

翻遍了issues,有說把

xmlns:app="http://schemas.android.com/apk/res-auto"
改成
xmlns:app="http://schemas.android.com/apk/tool"
然而並沒有軟用。

https://github.com/mikepenz/Android-Iconics/issues/174
看到了這個issue,直接添加

Iconics.init(getApplicationContext());Iconics.registerFont(new GoogleMaterial());

然後報著試一試的心態,直接運行,竟然可以!果然是我太年輕麼!!!

七、總結

使用起來實在是方便,對比阿里的Iconfont。Icon質量也挺不錯。
Android-Iconics庫的地址
還有一個類似的庫Android-Iconify的庫地址 。

參考:http://blog.csdn.net/cuipp0509/article/details/60778152

你有好的文章想和大家分享歡迎投稿,直接向我投遞文章連結即可

最後,歡迎大家加入我們的知識星球,第二期開期起航火熱進行中,已有近1000人加入學習

歡迎大家儘早加入,這期是到2019年3月10日結束,所以越早加入越好,優惠活動結束,現入圈費用由79元提至89元,以後每滿100人費用增加10元~

微信掃描或者點擊上方二維碼領取Android\Python\AI\Java等高級進階資源

更多學習資料點擊下面的「閱讀原文」獲取

相關焦點

  • 來開發一個wanandroid快應用吧
    此時配合命令即可邊開發邊預覽效果關於日誌查看,官方文檔介紹是使用Android Studio的Android Monitor輸出來查看日誌。" src="{{item.icon[currentIndex === index ?
  • 玩Android 快應用已經開源啦~
    關於日誌查看,官方文檔介紹是使用Android Studio的Android Monitor輸出來查看日誌。" src="{{item.icon[currentIndex === index ?/Common/Image/icon_home.png', '../Common/Image/icon_home_select.png']            },            {              text: '體系',              icon: ['../Common/Image/icon_classify.png', '..
  • 這些年「崛起」的Android技術博主們
    下面進入正題,一大波優秀作者來襲:1. jsonchaohttps://juejin.im/user/5a3ba9375188252bca050ade更新頻率令人震驚,而且文章的深度、廣度都很罕見。使用,最後還開源了自己的類似 booster 的作品:給大家推薦一個庫另外對外的開源庫也有不少值得學習的文章。
  • Android架構學習資料
    Android架構學習資料整理,總有一個適合你連結可以點擊閱讀原文獲取個人最近在嘗試MVP,感覺使用
  • 最新出爐的值得學習和提升你水平的Android開源App和庫(持續更新)
    首先,重點推薦一個使用乾淨架構的android樣板工程。 它是100%基於Kotlin開發用戶界面和單元測試的。17、android_additive_animationsAndroid的動畫添加! 一個簡單的方法來動態添加大量的屬性。
  • 最火的Android開源項目(一)
    詳情請參考:ActionBarSherlock2. facebook-android-sdkFacebook SDK for Android是一個開源庫,允許開發者將Facebook集成到所開發的Android應用中。
  • Android ConstraintLayout約束布局可視化工具使用~
    ConstraintLayout 布局,今天我們簡單看看這個布局的使用。>這篇文章雖然是 ConstraintLayout 專題文章,但是只是介紹了高頻用法,那些不常用的功能或細節並沒有細講這篇文章是我之前寫過一遍,感覺好多地方寫的不是太好,所以這篇文章基本上算是重寫了一遍,有任何不足請大家提出使用方式首先這個布局是要添加 依賴的
  • Android Glide庫使用,一句話完成圖片加載、gif、高斯模糊等 && 【菜鳥窩的三個實戰項目推薦】
    項目中用到的開源庫:1. Mvp  Google官方出品的Mvp架構項目,2. Rxjava 優雅的響應式Api解決異步請求3. RxAndroid 為Android提供響應式Api4. .同時對視頻相關的知識技術進行了介紹,可以幫助學習者快速的進行騰訊相關視頻應用開發,同時也包括了部分伺服器的實現邏輯。
  • Android 雜知識總結
    4.使用fresco顯示不了默認圖片原因在於未引入相應的命名空間xmlns:fresco="http://schemas.android.com/apk/res-auto"另外注意:使用Glide去加載SimpleDraweeView時,SimpleDraweeView即便設置了圓角也無效。
  • Android上玩玩Hook:Cydia Substrate實戰
    其實很簡單,Cydia Substrate提供了三個靜態的方法工具類,我們只需要學會使用它就好 。根據上面對Cydia Substrate的介紹,我們有了一個簡單的思路。首先,我們根據某廣告平臺的規定,在我們的AndroidManifest.xml文件中填入一些廣告相關的ID。並且在AndroidManifest.xml文件中填寫一些使用Cydia Substrate相關的配置與權限。
  • Android SVG使用之AnimatedVectorDrawable
    本篇來自 Nemo 的投稿,詳細地介紹了SVG的屬性以及使用方式,感興趣的朋友可以自己試一試。另外點擊最後 閱讀原文 可查看一些SVG相關資料的連結。使用 SVG 的優勢在於:下面的例子是一個簡單的SVG文件的例子。SVG文件必須使用.svg後綴來保存:
  • 使用Junit對Android應用進行單元測試
    本文的示例代碼可以在http://code.google.com/p/simple-calc-unit-testing/中下載  步驟1 被測試的應用SimpleCalc概況  在本文中,將以一個寫好了的應用SimpleCalc簡單計算器為例子進行講解。
  • Android Support Library主要庫詳細介紹
    的所有API,隨著android sdk的升級,高版本的sdk中會增加很多新的API,比如ActionBar、Fragment、RecyclerView等,如果在低版本的sdk中需要使用高版本新增的API怎麼辦?
  • Android新組件RecyclerView介紹,其效率更好
    今天我們首先來說為什麼要介紹這個新組件RecyclerView,因為前幾天我發布了一個常用面試題ListView的復用及如何優化的文章,介紹給一些開發者,但是我看到有關的反饋說:現在都不再用listview了,代替的是RecyclerView,確實是,但是用的畢竟是少數,所以可能很多人對於這個組件不是很了解,那麼我們就來介紹一下吧!
  • ICON設計使用手冊:如何設計一個優秀的圖標?
    在這篇文章中,我會分享一個簡單的使用清單/使用手冊,幫助你如何把圖標更好地展示給你的用戶。一、易識別清晰度是優秀界面的最重要特徵,但不幸的是,圖標往往不夠清晰。圖標必須第一時間傳達最重要的信息。幾個簡單的規則,可以幫助你避免使用不能傳達其含義的圖標。1. 嘗試使用用戶熟悉的icon用戶對於圖標的理解,一般基於其使用與認知的經驗。這就是為何使用用戶熟悉的圖標效果會比使用獨特的圖標要好。
  • Android 學習資料收集
    本書從三個方面來組織內容: 第一, 介紹Android開發者不容易掌握的一些知識點: 第二,結合Android原始碼和應用層開發過程, 融會貫通, 介紹一些比較深入的知識點: 第三, 介紹一些核心技術和Android的性能優化思想.
  • 從零開始的Android新項目8 - Data Binding高級篇
    原文:http://blog.zhaiyifan.cn/2016/07/06/android-new-project-from-0-p8/本文是MarkZhai同學系列文章的第8篇,剛剛完稿,此文承接 《從零開始的Android新項目7 - Data Binding入門篇》,繼續介紹Data Binding的進階內容,建議沒看過上篇的同學先前往閱讀,效果更佳,第7篇早前並沒有在我公眾號發布
  • Android進階系列之Support Annotation Library使用詳解
    那麼接下來一一對註解進項介紹。InterpolatorRes:標記整型是android.R.interpolator類型,插值器,在Animation Xml中使用較多。LayoutRes:標記整型是android.R.layout類型。MenuRes:標記整型是android.R.menu類型。RawRes:標記整型是android.R.raw類型。
  • android基礎入門
    Android工程師在這幾年都是非常搶手的,其實Android的學習卻並沒有我們想像中那麼難,我們通過幾天的學習就可以做出一個簡單的Android
  • Android Hook神器:XPosed入門與登陸劫持演示
    今天,就向大家簡單地介紹一下Xposed,並書寫一個簡單的登陸劫持Demo,讓大家快速地入門學習Xposed。實戰,登陸劫持(原理) 之前跟大家也說過使用CydiaSubstrate進行廣告注入,很多網友問我,除了簡單地注入一個廣告,還能做什麼嗎? 登陸劫持!!! 你沒聽錯,今天我們這裡就簡單地演示一下,如何對一個應用程式的登陸功能進行劫持,並把帳號密碼列印出來。