Launcher3源码分析 — ui结构

在android4.4后,nexus设备使用Google Now Launcher作为默认的Launcher,其实它的代码就是android4.4源码里的Launcher3,只是针对google now做了些修改,大体框架还是一样的。我们可以通过hierarchyviewer工具和布局文件launcher.xml来查看Launcher3的UI结构。


launcher.xml:



    

        
        
        

        

        

        
        

        

        
        
        
        
        

        
        

        
    


Launcher3截图:

Launcher3源码分析 — ui结构_第1张图片Launcher3源码分析 — ui结构_第2张图片Launcher3源码分析 — ui结构_第3张图片


整体UI结构图:

Launcher3源码分析 — ui结构_第4张图片

DragLayer:与拖动相关的操作都在这个类中处理,比如app和Widget的拖动

Hotseat:最下方的那排应用的布局,不随屏幕滑动

SearchDropTargetbar:最上方的搜索栏

Workspace:中间可滑动的部分,app和widget所在的位置,位于搜索栏和Hotseat之间

PageIndicator:页面标识,那个小点点

LinearLayout(id/overview_panel):长按屏幕进入编辑界面的视图

AppsCustomizeTabHost:显示所有app和Widget的视图

Cling:帮助视图


总结:

以上只是Launcher3的整体视图框架,没有对每一部分进行分解。在所有模块中,最核心的模块是Workspace,它不仅是app和widget的容器,同时还需要处理页面滑动和控件拖拽的事件等。在对Launcher3的UI结构有了整体的了解后,接下来就可以看具体模块的具体实现了。hierarchyviewer是android sdk提供的工具,使用它可以方便地查看app的视图树结构。具体的使用和功能android developer网站上有说明 http://developer.android.com/tools/debugging/debugging-ui.html

你可能感兴趣的:(Android)