日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
看完字體系列的文章,你還覺得我是在說字體?

最近一段時間,斷斷續(xù)續(xù)的一直在寫一個關(guān)于修改 App 字體的系列文章,到現(xiàn)在已經(jīng)寫了九篇了,差不多算是將我覺得和字體有關(guān)的內(nèi)容,都講解清楚了,到現(xiàn)在,應該算是完結(jié)了。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領(lǐng)域包括:網(wǎng)站設(shè)計制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的武威網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設(shè)合作伙伴!

花這么大的精力和篇幅,用來講解 Android 替換字體的所有細節(jié),我相信之后的 Android 技術(shù)圈應該不會再有字體相關(guān)的文章能超過它了。

當然,我這里并不是說它有多好技術(shù)有多深,只是修改字體還改的知識點就這么多,而這個系列的文章已經(jīng)涵蓋了修改字體所涉及到的所有內(nèi)容,再花精力和時間來重寫一遍,也很難有本質(zhì)上的提高,時間和精力的成本收益不均衡,意義并不大。當然,不排除有更顛覆的技術(shù)出現(xiàn),就另當別論了。

不過今天要聊的,并不是本系列完結(jié)后的感言,我真正想說的是,你真的看懂本系列的文章了嗎?

從開始寫這個系列的文章開始,就一直有一些聲音在群里或者評論里。有人說,Google 已經(jīng)在 Support v26 中,發(fā)布了 Font in xml 的方案了;有人說,已經(jīng)有成熟的開源項目了,你說這些都沒有意義。最開始我會說,哦,這個之后會寫到,之后慢慢的也不再理會了。

但是,真的是沒有意義的嗎?

技術(shù)是一直在迭代更新的,每天都有新的技術(shù)在面世,作為技術(shù)人,如果只是一味的追逐這些新鮮的技術(shù)如何使用,何時是個頭?

如果你想在這個行業(yè)一直走下去,你真正需要做的是建立自己的技術(shù)知識體系,將你學到的新技術(shù),核心技術(shù)和概念抽象出來,形成自己的技術(shù)回路,固化在意識中,能將這些經(jīng)驗,橫向輻射到其它的技術(shù)點上。當然,說這些有點玄奧。

而我們真正需要關(guān)心的是這些技術(shù)的核心點,它的精髓在哪里,為什么會這么設(shè)計,這樣的實現(xiàn)到底有缺點在哪里。將技術(shù)抽象出來,透過表象看本質(zhì),你才能適用在其他技術(shù)上。當然,這樣境界,通常沒有五年以上的經(jīng)驗,很難做到。

知其然不難,還要知其所以然,知一件事所以然,可知百件事所以然。我寫這些文章,你看過可以讓你得到結(jié)論,但是獲取、證明、推導、驗證這些技術(shù)的思維路徑,是我更想讓你知道的事情。

Google 剛在 Google I/O 大會上宣布 Kotlin 之后為 Android 的主要開發(fā)語言,很多人花大力氣學它。但是我見過有人,花了小半天看了 Kotlin 的文檔和一些關(guān)鍵點,之后用了兩周從零寫了個完整的 App 出來,現(xiàn)在已經(jīng)上架,廣告收入還不錯。這些才是掌握了核心技術(shù)的人,任由技術(shù)如何發(fā)展,只要他們還在這個行業(yè)內(nèi),他們是不會被淘汰的,因為他們有自己的技術(shù)體系,很多東西哪怕沒接觸過也能分析出大概的原理。而這些,才是真正想走技術(shù)路的技術(shù)人,真正需要培養(yǎng)的能力。

再來反觀本字體系列的文章,透過他們你能看到什么?其實整體的系列,主要就是分四部分。

一、了解修改字體相關(guān)的基本知識。

1、Android 修改字體,細節(jié)概述。

2、修改字體所需要的 Typeface。

這兩篇文章,主要講解了修改字體你需要用到的一些屬性,還有系統(tǒng)默認字體的細節(jié),以及加載自定義字體需要用到的 Typeface 這個類的源碼細節(jié)。

當你決定需要用一個方案去實現(xiàn)某個功能的時候,你提前需要了解到這個方案,所涉及到的所有的細節(jié),這樣避免給今后的自己埋坑。

不能說用到一個 Api,挺好用,調(diào)用 setXxx() 就可以實現(xiàn)。如果你到這里就完了,那永遠只能是個初級。

最少你需要知道 setXxx() 方法內(nèi)部到底干了什么?線程是否安全?使用的時候有沒有什么需要注意的情況?這些細節(jié),只能通過讀源碼來找到答案。

二、一些可以解決問題但不***的方案

3、粗暴的方式,替換全局字體。

4、通過反射,修改 Typeface,替換全局字體。

這兩篇文章,講了一些不優(yōu)雅的方案,例如全局替換自定義控件,在 onCreate() 的時候遍歷 ViewTree ,以及通過反射去修改 Typeface 的某個默認字體,然后配合主題的設(shè)置去修改全局字體。

這些,其實最終都不會被用在商業(yè)項目上,除了不優(yōu)雅,局限性和效率問題,都是商業(yè)項目需要考慮的,但是并不阻礙我們了解這些方法。

修改字體這個功能,實際上是有更好的解決方案的,但是并不排除有其他的需求,暫時找不到別的更好的方案。那么,這個時候能解決問題的方案,就是好方案,需要解決的是讓這些不好的方案,影響不要那么大。

三、低成本快速的替換控件

5、利用 AppCompatDelegate ,全局替換字體。

6、修改 LayoutInflater,全局修改字體。

7、通過自定義屬性,低成本添加多個字體。

其實到***,你就會發(fā)現(xiàn),最終的問題在于,如何低成本、快速優(yōu)雅的替換掉控件,或者統(tǒng)一的為控件附加字體信息。

而這些方案,你橫向輻射一下,你會發(fā)現(xiàn),它不僅僅適用于替換字體。全局替換控件,并不是要手動一個布局文件一個布局文件的去修改,用 AppCompatDelegate 或者 LayoutInflater 也能快速全局替換。自定義屬性并不是只有在自定義控件的時候才可以用上。

而這些概念,所有需要替換控件的地方,都可以使用。例如:換膚、無埋點統(tǒng)計,這些都是可以用到的。如果你單純的把它當成一個替換字體的解決方案,那它也只能替換字體。

四、其他新的或者成熟的方案

8、Android Oreo 可下載字體。

9、利用成熟開源庫,替換全局字體。

Support v26 新增加的可下載字體,也是一個不錯的解決方案。但是在商業(yè)項目上,對這些庫的版本升級,都是謹慎的。而使用成熟的開源庫,也是一個不錯的方案。

開源庫,用的時候非常的爽,引入進來,按文檔改個關(guān)鍵點,就可以實現(xiàn)功能。但是只要是解決方案,都會有局限性,你在使用它的時候一定要了解清楚它的所有細節(jié),知道它的核心原理是什么?技術(shù)盲點在哪里?

如果你最終選擇了開源庫來替換字體,如果你看了之前的文章,你會發(fā)現(xiàn)實際上這個開源庫也只是前面幾篇文章中,介紹的技術(shù)點的一個不同的使用方式,你用起來就可以比較放心,知道出了問題大概是哪里的問題,如何快速解決。

成熟的開源庫很多,但是如果你還是只停留在使用上,你再次出去面試的時候,面試官問你為什么選擇它?它的核心原理是什么?有沒有別的替代方案?你怎么回答?難道說因為大家都用嗎?

這些就是你核心競爭力的體現(xiàn)。

***,我想說,技術(shù)路漫漫,且行且珍惜。

不要只是流于表面,將技術(shù)原理抽象理解,固化在自己意識中,形成自己的技術(shù)回路。這樣你才能在這個技術(shù)大爆炸的時代,你的經(jīng)驗才能保值,無懼變化。

結(jié)論固然重要,但是獲取、證明、推導、驗證這些技術(shù)的思維路徑,是我更想讓你知道的事情。


新聞標題:看完字體系列的文章,你還覺得我是在說字體?
網(wǎng)站地址:http://m.5511xx.com/article/ccocjic.html