Launcher主要由下面这些view东东组成:
别看名字千奇百怪,都是view哦
private DragLayer mDragLayer;
mDragLayer = (DragLayer) findViewById(R.id.drag_layer);
private Workspace mWorkspace;
mWorkspace = (Workspace) dragLayer.findViewById(R.id.workspace);
private SlidingDrawer mDrawer;
mDrawer = (SlidingDrawer) dragLayer.findViewById(R.id.drawer);
private AllAppsGridView mAllAppsGrid;
mAllAppsGrid = (AllAppsGridView) drawer.getContent();
private HandleView mHandleView;
mHandleView = (HandleView) drawer.findViewById(R.id.all_apps);
DeleteZone deleteZone = (DeleteZone) dragLayer.findViewById(R.id.delete_zone);// 偷偷在setupview时建的,不是类成员。 给handleview set了一个handle
launcher运行时候能看到的。基本也就是这些元素组成的。
LayoutInflater mInflater;
把各种xml文件对应的layout 部署到调用他的 Context上,即Launcher上。
在onCreate时初始化。
private AppWidgetManager mAppWidgetManager;
appwidget 管理控制相应的 widget app.
private LauncherAppWidgetHost mAppWidgetHost;
继承了AppWidgetHost 用来和appwidget service交互。
private final BroadcastReceiver mApplicationsReceiver = new ApplicationsIntentReceiver();
private final BroadcastReceiver mCloseSystemDialogsReceiver = new CloseSystemDialogsIntentReceiver();
两个receiver,对相应的intent进行响应。源码里只看到package的三个action:ACTION_PACKAGE_ADDED,ACTION_PACKAGE_REMOVED,ACTION_PACKAGE_CHANGED,还有个ACTION_CLOSE_SYSTEM_DIALOGS
private final ContentObserver mObserver = new FavoritesChangeObserver();
private final ContentObserver mWidgetObserver = new AppWidgetResetObserver();
前面那个oversver监视LauncherSettings.Favorites.CONTENT_URI,后面那个监视(LauncherProvider.CONTENT_APPWIDGET_RESET_URI
private static final LauncherModel sModel = new LauncherModel();
LauncherModel用来保存launcher所有运行时的变量到内存中,并提供数据库相关借口方便参数操作。系统一般只有一个Launcherodel,保证正常显示。
protected void onActivityResult(int requestCode, int resultCode, Intent data)
是像ContextMenu这类返回Activityesul时对桌面图标拾起,移动和创建的比较主要的逻辑,功能包括
REQUEST_PICK_APPLICATION,
REQUEST_PICK_SHORTCUT,
REQUEST_CREATE_SHORTCUT,
REQUEST_PICK_LIVE_FOLDER,
REQUEST_CREATE_LIVE_FOLDER,
REQUEST_PICK_APPWIDGET
REQUEST_CREATE_APPWIDGET
REQUEST_PICK_APPWIDGET
REQUEST_CREATE_APPWIDGET
看名字基本能看出来是做啥的。
private SlidingDrawer mDrawer;
这个就是抽屉的成员了。
一个抽屉包括两部分(其实是SlidingDrawer包括两部分): handler(手可以拉的地方) Content(拉开之后你看见什么)
不写了。。。Launcher太大了
Launcher整个是个dragLayer,由两部分: workspace,slidingDrawer组成。
workspace就是大家喜闻乐见的桌面,默认4*4,16个格子的CellLayout
slidingDrawer就是大家喜闻乐见的抽屉以及垃圾桶,,反正nexus已经不用,估计会废弃
slidingDrawer作为一个抽屉,包括handler和content(allappsgridview)两部分,外加一个回收站deleteZone
喜欢研究的自己看看源码,比啥都强-v-,因为源码挺好懂的
分享到:
相关推荐
Android Launcher 源码详解 Android Launcher 是 Android 系统中一个非常重要的组件,负责显示桌面程序和管理应用程序图标。了解 Launcher 的源码可以帮助我们更好地理解 Android 系统的设计思想和实现机制。本文...
1.适用android 盒子,1920*1080(密度240),1280*720(密度160),1280*720(密度213) 2,eclipse 代码 3,主页功能介绍(第一排,左边语音调起,右边时间,第二排,常用国外视频app,第三排所有apps,第四排设置,...
"安卓Android源码——Android Launcher 源码修改可编译.zip" 这个标题表明我们关注的是Android操作系统的源代码,特别是与启动器(Launcher)相关的部分。Launcher是用户与Android系统交互的主要界面,它管理应用...
本文将深入探讨Android Launcher的源码结构、关键组件以及如何进行修改和编译。 首先,理解Android Launcher的源码结构是至关重要的。源码通常包括多个模块,如UI布局文件、Java代码、资源文件(如图片、字符串资源...
仿小米电视桌面launcher源码Demo,改桌面采用 类似小米一样的metro风格的 设计,可以通过远程配置控制桌面显示 的内容,非常棒,成功用于多个机顶盒ott项目。无积分或者不想登陆点我头像发给你。
在这个"安卓Android源码——Launcher源码修改可编译.zip"文件中,你将有机会接触到Android系统的核心部分,并学习如何对源码进行编译和调试。 首先,Android源码分为几个主要部分,包括系统库、框架层、运行时环境...
**Android Launcher3源码详解** Android系统的桌面启动器(Launcher)是用户与设备交互的核心界面,它负责展示应用快捷方式、小部件以及主屏幕布局。其中,`Launcher3`是Android开源项目AOSP(Android Open Source ...
【Android项目源码-安卓Launcher原生桌面源码】是一个深入了解Android系统启动器(Launcher)工作原理的重要资源。源码提供了Android操作系统中的主屏幕和应用抽屉的实现细节,这对于Android开发者尤其是系统定制者...
Android Launcher 源码修改可编译.zip项目安卓应用源码下载Android Launcher 源码修改可编译.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
Andriod8.0 TV Launcher源码, 基于Android Studio的工程源码。 一种基础的 Android TV桌面导航Launcher 的Demo,仅用作交流!
《Android 2.2原生Launcher源码解析》 Android系统中的Launcher,即启动器,是用户与系统交互的首要界面,它负责显示应用程序图标、桌面小部件以及管理主屏幕。在Android 2.2(Froyo)版本中,Launcher的源码为我们...
《深入解析Android Launcher源码:实现可编译的高级应用》 在移动操作系统的世界中,Android以其开源性和灵活性深受开发者喜爱。本资料包提供的是一个经过修改,可编译的Android Launcher源码,旨在帮助开发者深入...
"可以成功编译的Launcher源码"是指经过调整或修改后的Launcher应用程序源代码,使得开发者可以在本地环境中顺利地进行编译和运行,这对于理解和定制Android系统的启动器非常有帮助。 首先,Android Launcher源码...
Android-launcher源码全面分析 一 Launcher默认界面配置(default workspace) 2 1 界面默认配置文件 2 2 LauncherProvider java的loadFavorites分析 3 二 Icon修改 界面布局调整 壁纸设置 5 1 图标大小和标题大小 5...
"launcher源码"是Android操作系统中的一个核心组件,主要负责应用程序的启动和管理。当我们打开手机,看到的第一个界面就是launcher,它提供了桌面、应用抽屉等界面,让我们能够方便地启动和切换应用。这里提到的adw...
【Launcher源码(Android 6.0系统原生)】是一个深入理解Android系统启动器工作原理的宝贵资源,尤其对于想要定制或优化Android界面的开发者来说。这个源码是基于Android 6.0 Marshmallow的官方Launcher应用,已经...
Android TV Launcher源码分析 Android TV Launcher是Android操作系统在电视设备上显示的主屏幕界面,它负责展示和管理用户的应用、频道和其他内容。对于初学者来说,深入理解Android TV Launcher的源码是学习...
《Android Launcher2.2源码解析》 Android操作系统的核心组件之一就是Launcher,它是用户与系统交互的入口,负责展示桌面图标、应用抽屉等。在深入理解Android系统工作原理时,学习Launcher的源码是非常重要的一环...
【Android 8.0 Launcher3源码解析】 Android 8.0(代号Oreo)是Google推出的Android操作系统的一个重大版本,它引入了许多改进和新特性。其中,Launcher3是Android系统的核心组件之一,它是用户与设备交互的主要...
这里我们关注的是"launcher源码",包括ADW.Launcher和Android 4.0(Ice Cream Sandwich,简称ICS)的原生Launcher。这两个启动器在Android发展史上具有重要意义,为后来的许多定制和优化提供了基础。 首先,ADW....