前言:為了解決應(yīng)用圖標(biāo)在不同android手機(jī)上的外觀樣式問(wèn)題,google官方在android8和android13兩個(gè)版本做了變更(這2個(gè)版本都提供了向下兼容),下文介紹適配方法以及注意事項(xiàng)(此處有彩蛋)。
一、android8(API27)適配
1、找到資源文件夾:mipmap-anydpi-v26(若舊的as里沒有默認(rèn)生成,可以選擇新建該資源文件夾):
?2、鼠標(biāo)右擊該文件夾,選擇新建:"Image Asset":
?3、彈出界面(如下圖):
注意 i :Name最后將默認(rèn)的"ic_launcher"修改成別的名稱(如加個(gè)后綴ic_launcher_liubei),因?yàn)槿繇?xiàng)目中使用了三方aar,同名的ic_launcher文件會(huì)有沖突造成沒有效果。
注意 ii:Foreground Layer->Path最好選擇你的svg圖片(矢量圖,即不失真圖),可以在不同設(shè)備上獲得高清效果,當(dāng)然也可以選擇普通png圖片;
注意 iii:可以調(diào)節(jié)Rezise,調(diào)整內(nèi)部前景圖大小,右邊會(huì)有及時(shí)預(yù)覽效果;
注意 iv:Background Layer,可以使用顏色作為背景色(如下圖的橙色),也可以選擇圖片
?4、點(diǎn)擊Next,下圖展示即將在下面的文件夾中新增或復(fù)寫(后續(xù)再走一遍完整流程,會(huì)同名覆蓋,否則新增)所有圖標(biāo)相關(guān)的文件,其中:"mipmap-anydpi-v26"文件夾是android8.0及以上專用,其余文件夾(如mipmap-xxxhdpi)是兼容android8.0以下的機(jī)型,確保低版本沒問(wèn)題
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(圖5,自動(dòng)生成的ic_launcher_liubei.xml文件)
?5、然后在AndroidManifest.xml文件中聲明圖標(biāo):
注意看下圖,第9、10代碼行左邊出現(xiàn)了預(yù)覽是“正方形”,其實(shí)是ide自己不知道自己即將運(yùn)行在什么真機(jī)上,所以這僅僅是個(gè)預(yù)覽。這樣就完成了android8的適配(自動(dòng)向上和向下兼容):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? (圖6)
?6,、下面展示運(yùn)行在googlePixel6Pro(android12)上的真機(jī)效果:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
二、android13(API33)適配[自適應(yīng)圖標(biāo)和單色應(yīng)用圖標(biāo)]
1、android13主要是更新了應(yīng)用圖標(biāo)隨著手機(jī)系統(tǒng)主題和壁紙動(dòng)態(tài)變化的功能;
2、其實(shí)android13適配和android8適配差不多,只需要在android8適配的基礎(chǔ)上,手動(dòng)修改第一章中圖5中的兩個(gè)文件,在2個(gè)文件中,手動(dòng)增加:"monochrome"(單色應(yīng)用圖標(biāo))節(jié)點(diǎn),新增VectorDrawable矢量圖路徑
?3、下面展示運(yùn)行在googlePixel6Pro(android13)上的真機(jī)效果:
三、注意點(diǎn)
? 無(wú)論是android8還是android13適配,歸根到底,解決的僅僅是“手機(jī)桌面圖標(biāo)展示”的問(wèn)題,在其余的地方,還是有一些“出乎意料”的地方,下面說(shuō)明:
1、比如android8適配后,雖然手機(jī)桌面顯示確實(shí)符合預(yù)期,但是在蒲公英提測(cè)的圖標(biāo),與未適配android8的有差異,如(下圖的愛奇藝適配后,在蒲公英界面出現(xiàn)了邊角):
? 又比如,在QQ安裝界面,出現(xiàn)了外邊框:
出現(xiàn)這兩個(gè)問(wèn)題的原因,是因?yàn)橛捎赼ndroid的版本迭代,三方平臺(tái)未及時(shí)更新策略導(dǎo)致,其實(shí)他們直接讀取了mipmap-xhdpi文件夾下的png圖片(其實(shí)也是本次適配默認(rèn)給我們生成的):
? ? ? ? ? ? ? ? ? ? ? ?
3、又比如,在適配mipmap-anydpi-v26后,榮耀v10的EMUI(android9)上,推送默認(rèn)小圖標(biāo)是正方形,不是圓角(且國(guó)內(nèi)EMUI版本華為推送無(wú)法通過(guò)com.huawei.messaging.default_notification_icon修改推送圖標(biāo),鴻蒙和MagicUi可以修改),原因是應(yīng)用了第一章中的圖6預(yù)覽圖
? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? (圖:適配mipmap-anydpi-v26文件夾的知乎app運(yùn)行在榮耀v10手機(jī)EMUI9.1上)
?4、android13切換圖標(biāo)顏色后,雖然桌面圖標(biāo)顏色改了,但是默認(rèn)的歡迎頁(yè)還是未應(yīng)用此更改的顏色:
以上就是通過(guò)mipmap-anydpi-v26適配android8、13,且向上向下兼容的全部?jī)?nèi)容啦,如有疑問(wèn),可以隨時(shí)溝通。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-485894.html
祝大家生活工作愉快~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-485894.html
到了這里,關(guān)于android8、android13自適應(yīng)圖標(biāo)適配的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!