Android 源码解析之原生 Launcher3 _UI结构篇

Android 源码解析之原生 Launcher3 _UI 结构篇

一、Launcher简介

    Launcher 是Android 系统 开机完成后,第一个启动的系统级应用,用来展示系统种所预装或安装的应用的快捷方式、小部件的列表。Launcher作为开机后第一个展示给用户的应用程序,其设计的好坏影响到用户的体验,甚至影响用户购机的判断。所以很多品牌厂商都会不遗余力的对Launcher进行深度定制,如小米的MIUI、华为的EMUI等。Android 默认的 Launcher没有过多的定制,更加简洁,受到源生党的追捧,Google的Nexus系列手机基本都是用的源生Launcher,目前Android源生的Launcher版本是Launcher3,后面的相关内容也都是已 Launcher3为基础。

    本篇,我们先来了解 Launcher3 的 UI 界面的 布局层级 和 结构框架;


二、UI 布局层级 分析

从 Google 原生 launcher 的 UI 布局显示的层级来看,Launcher 共分 两层 来显示,分别各为一个 Acitivity:

第一层:就是开机启动后,我看到的第一个界面,也是用户点按 Home键后显示的主页面,我们俗称 “快捷桌面”

第二层:是用来展示系统中安装,且允许在列表中显示的所有的 Apps Widgets 的页面,这是我们常说的 “抽屉页”

这与我们平日里常用安卓手机的 launcher 首页不同,国内几乎所有的手机厂商,都会对 launcher 进行个性化的定制, 因此我们看到都只有一层布局结构,就是 “快捷桌面”

 

1. 第一层 布局 :LauncherRootView

先来看看 Launcher.java的主布局文件 —— launcher.xml :



    
 

                
                
                
                

                
                

                

                

                
                

                

                
     

    public class LauncherRootView extends InsettableFrameLayout {
    public LauncherRootView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected boolean fitSystemWindows(Rect insets) {
        setInsets(insets);
        return true; // I'll take it from here
    }
}

 

你可能感兴趣的:(Android_ROM,Android_Auto车联网)