原创 Launcher3源碼分析 — 所有應用頁面的數據加載和綁定

加載完workspace的數據後,接下來就開始加載所有應用界面的數據了。通過LauncherModel.loadAndBindAllApps()完成所有應用界面的加載過程,代碼如下: private void loadA

原创 Launcher3源碼分析 — 將Workspace的數據與界面綁定

在數據從數據庫加載到內存之後,接下來的工作就是把這些數據與launcher的UI視圖綁定。綁定的過程在LauncherModel.bindWorkspace()方法中完成,在這個方法中會調用回調接口Callback裏相應的回調方法。 C

原创 Launcher3源碼分析 — 主界面的UI結構

使用android sdk裏面的HierarchyViewer工具可以查看應用的佈局樹狀圖,下面是Launcher3主界面的UI結構 在Launcher界面中這幾個組件的佈局如下圖所示: CellLayout就是Launcher主界