近來 Google 推出了全新的 Widget 設計標準「Canonical Layout」,這套設計規範讓 Widget 的風格更統一,並能輕鬆適應各種裝置尺寸。接下來,我們一起來看看 Canonical Layout 的精髓,並分享一些實用的小技巧,幫助你在開發時事半功倍!
Canonical Layout 是什麼?
簡單來說,Canonical Layout 就是一套預先設計好的 Widget 版型。它讓開發者不用再從零開始設計,而是可以依照標準快速打造出既美觀又易用的 Widget。這套設計標準主要分為三種版型:
List(清單型)
適合用來展示新聞、待辦事項等列表內容。-
Grid(網格型)
非常適合展示圖片、相簿或音樂專輯等內容。 -
Stack(堆疊型)
適用於像天氣資訊、日曆提醒這類需要逐步展示的內容。
為什麼選擇 Canonical Layout?
一致又美觀
以前不同 App 的 Widget 常常各自為政,風格不一。採用 Canonical Layout 後,不論用戶在哪個 App 中,都能感受到相同的視覺語言,這對用戶體驗大有幫助。
自動適應各種裝置
每個裝置的螢幕尺寸都不相同。Canonical Layout 能根據不同裝置自動調整佈局,省去了不少為適配尺寸而修改版面的麻煩。
提升開發效率
有了這套標準版型,開發者就可以更專注於核心功能,而不用花太多時間處理 UI 的細節,開發速度大大提升!
如何開始使用 Canonical Layout?
1. 準備 RemoteViews 佈局檔
首先,準備符合標準版型的佈局檔,這裡以 List 型為例:
2. 實作 RemoteViewsService 以動態提供資料
使用 RemoteViewsService 來處理 Widget 的數據更新:
public class MyWidgetService extends RemoteViewsService {
@Override
public RemoteViewsFactory onGetViewFactory(Intent intent) {
return new MyWidgetFactory();
}
}
這樣可以確保你的 Widget 能夠隨著數據變動而即時更新。




0 留言