寫作原因
前幾天無(wú)意中在安卓巴士上閑逛每聪,看到了其視頻專欄下面的線下活動(dòng)專欄狞洋,然后就看了2018安卓巴士開(kāi)發(fā)者大會(huì)看到了餓了么分享的一個(gè)視覺(jué)驗(yàn)收神器煌往,從而引起了自己的注意尤筐,因?yàn)樵陧?xiàng)目交付過(guò)程中跟設(shè)計(jì)師確實(shí)會(huì)出現(xiàn)以下部分問(wèn)題:
- 漸變色取值不方便
- 占位圖尺寸不清除
- UI調(diào)整過(guò)程效率低
a.設(shè)計(jì)師會(huì)有大一點(diǎn)诉探、小一點(diǎn)的描述日熬,不能準(zhǔn)確說(shuō)出準(zhǔn)確數(shù)字- 控件圓角大小未知
- 控件是否對(duì)齊判斷不方便
- 文本超長(zhǎng)時(shí)控件是否會(huì)異常
因?yàn)樽约阂彩巧钍躑I修改調(diào)整的折磨,所以看到這個(gè)東西的時(shí)候肾胯,心中是萬(wàn)分激動(dòng)竖席,尤其是看到餓了么工程師講述其主要功能及演示其效果的時(shí)候,更是忍不住在自己項(xiàng)目中做一番嘗試敬肚,首先先介紹下他的功能:
- 查看/修改控件屬性
- 移動(dòng)屏幕上任意控件
- 輕松定制所需控件
- 顯示網(wǎng)格柵欄
- 控件位置信息
開(kāi)始集成
集成步驟毕荐,餓了么在github上已經(jīng)給出了集成方式,這個(gè)不是本文的重點(diǎn)艳馒,詳見(jiàn)官方UETool(中文文檔)
官方給出的集成方式很簡(jiǎn)單憎亚,只需要兩步
- 安裝依賴
dependencies { debugImplementation >'me.ele:uetool:1.0.17' releaseImplementation 'me.ele:uetool-no->op:1.0.17' // if you want to show more attrs aboutFresco's DraweeView debugImplementation 'me.ele:uetool-fresco:1.0.17' }
- 使用
打開(kāi)懸浮框UETool.showUETMenu();
關(guān)閉懸浮框
UETool.dismissUETMenu();
開(kāi)始填坑
雖然只有這簡(jiǎn)單的幾步但是真正的集成卻存在很多坑,下面來(lái)一一說(shuō)下
-
包沖突問(wèn)題
java.util.zip.ZipException: duplicate entry: android/support/design/widget/CoordinatorLayout$1.class
這個(gè)問(wèn)題很明顯是由于包沖突造成的弄慰,由于是集成UETool SDK 造成的第美,所以就要對(duì)這個(gè)sdk開(kāi)始入手,看到是由于和android/support庫(kù)中的控件沖突
所以我們只需要在UEToolsdk中把這個(gè)類庫(kù)剔除就行了
compile 'me.ele:uetool-fresco:1.0.17', {
exclude group: 'com.android.support'
}
這樣就可以了
-
集成之后無(wú)法顯示
集成之后調(diào)用showUETMenu()方法發(fā)現(xiàn)無(wú)法顯示操作的按鈕陆爽,后來(lái)打日志追蹤什往,發(fā)現(xiàn)一直返回的都是false,追蹤發(fā)現(xiàn)慌闭,由于打包打的是release包别威,所以調(diào)用的一直都是me.ele:uetool-no-op:1.0.17 這個(gè)庫(kù)里面的方法,后面把這個(gè)注釋掉就行了驴剔,至于線上和測(cè)試環(huán)境的區(qū)別省古,可自行進(jìn)行配置在線上不引入這個(gè)包就行了,代碼中可利用反射進(jìn)行判斷丧失,如果沒(méi)有集成這個(gè)類庫(kù)就不使用顯示方法
-
提示需要add classpath
在集成后使用的時(shí)候會(huì)提示add gradle 'me.ele:uetool:1.0.17' to classpth
后在根目錄的gradle文件中dependencies里面添加了
classpath 'me.ele:uetool:1.0.17'
問(wèn)題解決豺妓,不解的是,后面將這塊移除也沒(méi)問(wèn)題,不知道當(dāng)時(shí)為什么會(huì)有這個(gè)提示
網(wǎng)上有些文章說(shuō)這個(gè)庫(kù)只能給餓了么自己的項(xiàng)目用科侈,這其實(shí)是不對(duì)的载佳,親測(cè)在我們自己的項(xiàng)目中也是可以用的,這里還是感謝餓了么大神的貢獻(xiàn)臀栈,最后添加一個(gè)對(duì)這個(gè)工具的分析的文章,來(lái)看下這個(gè)工具的原理是什么
餓了么UETool源碼分析
餓了么大神也親自介紹了里面的部分實(shí)現(xiàn)
2018安卓巴士開(kāi)發(fā)者大會(huì) - 巴掌《餓了么視覺(jué)驗(yàn)收利器》