Android6.0-Launcher3源码分析
pnying
这个作者很懒,什么都没留下…
展开
-
Launcher3源码分析(DeviceProfile)
DeviceProfile定义了Launcher的很多属性,比如图标的大小、间距等。在Luancher.java的onCreate方法中初始化//方向mDeviceProfile = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE ? app.getInvariantDevic原创 2017-03-08 14:32:20 · 3915 阅读 · 0 评论 -
Launcher3源码分析(CellLayout)
CellLayout是workspace的屏幕。 CellLayout中的一些重要属性:int mCellWidth;int mCellHeight;//每一个屏幕的行列数int mCountX;//每一行的item个数int mCountY;//每一列的item个数//item之间的距离int mWidthGap;//item之间的宽度int mHeightGap;//item之间原创 2017-03-08 14:12:51 · 2173 阅读 · 0 评论 -
Launcher3源码分析(LauncherModel加载数据)
LauncherModel继承BroadcastReceiver,显然是一个广播接收者。在上一篇Launcher的启动中讲到桌面数据的加载工作是在LauncherModel中执行的,那么它是如何加载数据的呢?下面将分析Launcher和LauncherModel的通讯方式以及LauncherModel加载桌面数据的过程。首先分析的是Launcher和LauncherModel的通讯方式:(1)Lau原创 2017-03-08 10:46:31 · 2526 阅读 · 0 评论 -
Launcher.java源码分析
Launcher的简单分析:1、获取LauncherAppState实例:LauncherAppState app = LauncherAppState.getInstance();LauncherAppState这个类主要做了些什么呢?从这个类的构造方法中可以发现,做了些初始化的操作:(1)初始化LauncherModel、IconCache、WidgetCache、InvariantDevice原创 2017-03-07 15:05:20 · 2539 阅读 · 0 评论 -
android6.0默认Home(Launcher3)的启动分析
Launcher是默认的桌面应用,在系统启动后开始启动Launcher,进而才加载桌面数据。那么如何实现开机进入默认Launcher,比如把自己写的应用设置成开机默认启动的桌面呢?带着这个问题来分析Launcher是如何被选中并成为默认桌面应用而启动的。SystemServer启动ActivityManagerService并调用了它的systemReady()函数。ActivityManagerS原创 2017-04-26 17:04:52 · 6176 阅读 · 0 评论 -
Launcher3源码分析(Workspace)
Workspace主要功能:完成多个屏幕的以及壁纸的显示,多个屏幕之间的切换和壁纸的添加。 /** * Used to inflate the Workspace from XML. */ public Workspace(Context context, AttributeSet attrs, int defStyle) { super(conte原创 2017-03-08 11:26:24 · 1942 阅读 · 0 评论