接觸Flutter一年多的時間,作為一名之前只做H5前端開發的老司機,對類原生App開發還是挺有興趣的,一點小小的發現和提升都會驚喜,希望能和大家一起學習進步,提升自己的能力,做出更好更優秀的APP應用。今天跟大家一起來學習如何做好Flutter App應用圖標的適配。
Android 8.0 後App圖標開始變成圓形的圖標了
如果不進行圖標適配的話,那麼顯示的圖標將異常醜
那麼怎麼用一套圖標,既可以兼容安卓8之前的版本矩形/圓角矩形圖標,也可以兼容8之後的圓形圖標版本呢?
在此之前我們得先了解一項Android 8.0以後應用圖標上的區別(老司機可以無視)。
Android 8.0(API 級別 26)引入了自適應啟動器圖標,可以在不同設備模型中顯示各種形狀。先來看下官方酷炫動態圖:
Android 8.0 以上可以通過定義 2 層來控制自適應啟動器
圖標的外觀,包括背景層和前景層,就如我們在做PS多圖層疊加一個道理。您必須提供圖標的背景圖層(也可以是單獨的一個Hex色值),前景層的圖標輪廓周圍不能有蒙版或背景陰影。這裡前後圖層還需注意以下兩點:
圖層大小以 324*324 (單位px)為佳;前景層即圖標層的圖標主體部分應居中且不應超過圖層大小的66.6%,以324寬高為例,主體圖標部分大小不應超過 215*215 大小,否則圖標的主體會被遮罩部分擋住。好了到此處我們的Flutter圖標適配就完成了90%了。啥?我們不是什麼都還沒做嗎?對於剩下的步驟工具一個命令就能能完成的事,那不叫事,嘿嘿。
首先準備好我們要用的圖層和圖標,如下:
萬事俱備,只欠東風,要快速實現自適應圖標,還得請出我們的主角,那就是Flutter的插件:flutter_launcher_icons
flutter_launcher_icons 提供了adaptive_icon_background 和 adaptive_icon_foreground 指定這兩個屬性,即可實現安卓8以上版本的圖標自適應工作。安裝好依賴之後需要做簡單的配置即可,如下
#App 應用適配圖標配置
flutter_icons:
android: "ic_launcher"
ios: true
image_path: "assets/icon/ic_launcher.png"
# only available for Android 8.0 devices and above
adaptive_icon_background: "assets/icon/ic_launcher_background.png"
adaptive_icon_foreground: "assets/icon/ic_launcher_foreground.png"
具體詳細的配置參數可以去官方插件地址了解,在這裡就不詳細介紹了.