GMS 版本配置文件路径:其中 res_XXX 请根据项目配置情况确认:
vendor\partner_gms\apps\GmsSampleIntegration\res_XXX\xml\partner_default_layout.xml
Native 版本配置文件路径:
Launcher3\NativeLauncherLayout\res\xml\partner_default_layout.xml
下文均是在不存在 Partner 的情况下做的修改,如果存在 Partner,只需参考该修改即可。
默认修改位置:
默认图标是在 defaultLayoutId 配置的。对应如下文件:
Launcher3\res\xml\default_workspace_XXX.xml
如果修改此文件无效,需要考虑该文件是否被 Launcher Partner 机制替换。
1.预置图标是在上述 default_workspace_XXX 配置文件中进行添加,共 5 种标签类型。
(1)Appwidget(待机界面小部件)
格式如下:
<appwidget
launcher:screen="0"
launcher:x="0"
launcher:y="1"
launcher:spanX="4"
launcher:spanY="2"
launcher:packageName="com.android.deskclock"
launcher:className="com.android.alarmclock.DigitalAppWidgetProvider" />
名称 | 定义 |
---|---|
screen | 页面位置,第几页。 |
x | X 坐标位置 |
y | Y 坐标位置名称 定义 |
spanX | Widget 宽度占用格子数 |
spanY | Widget 高度占用格子数 |
packageName | Widget 包名 |
className | Widget 类名 |
其他图标或 widget 的预置位置不能与本 widget 所预置的区域冲突,否则会导致加载失败。
(2)favorite(待机界面应用图标)
格式如下:
<favorite
launcher:screen="0"
launcher:x="2"
launcher:y="3"
launcher:packageName="com.android.settings"
launcher:className="com.android.settings.Settings" />
名称 | 定义 |
---|---|
screen | 页面位置,第几页。 |
x | X 坐标位置 |
y | Y 坐标位置 |
packageName | 包名 |
className | 类名 |
favorite 预置,一般预置带有 Launcher 属性的应用图标。
(3)shortcut(待机界面快捷方式图标)
格式如下:
<shortcut
launcher:icon="@drawable/app_icon"
launcher:title="@string/app_name"
launcher:uri="http://www.baidu.com/"
launcher:screen="0"
launcher:x="0"
launcher:y="0" />
名称 | 定义 |
---|---|
icon | 图标 |
title | 名称 |
screen | 页面位置,第几页。 |
x | X 坐标位置 |
y | Y 坐标位置 |
uri | Uri 类型的地址 |
shortcut 预置,一般预置的是网址书签、应用中某个 Activity(不带 Launcher 属性)、打开某个特殊文件等快捷方式,可以自定义其 icon、title,通常建议使用“launcher:uri”标签。
例如:打开预置在某个目录的视频文件,可以使用如下 uri 格式:
launcher:uri=“file:///storage/emulated/0/Movies/1.mp4#Intent;type=video/*;action=android.intent.action.VIEW;category=android.intent.category.BROWSABLE;end”
若需指定系统默认播放器就增加如下内容:
component=com.android.gallery3d/.app.MovieActivity;
若需用户选择播放器,需删除。
使用 shortcut 标签,必须设置 title,否则预置会失效。
(4)folder(待机界面文件夹)
格式如下:
<folder
launcher:title="@string/folder_name"
launcher:screen="0"launcher:x="0"
launcher:y="3">
<favorite
launcher:packageName="com.android.settings"
launcher:className="com.android.settings.Settings"
launcher:x="0"/>
<favorite
launcher:packageName="com.android.settings"
launcher:className="com.android.settings.Settings"
launcher:x="1"/>
</folder>
名称 | 定义 |
---|---|
title | 名称 |
screen | 页面位置,第几页。 |
x | X 坐标位置 |
y | Y 坐标位置 |
favorite 文件夹中预置的图标,详见(2),此时 x 代表文件夹中的排序。folder 预置,不能包含 appwidget 类型。
(5)resolve(待机界面图标)
格式如下:
<resolve
launcher:container="-101"
launcher:screen="1"
launcher:x="1"
launcher:y="0" >
<favorite
launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_ME
SSAGING;end" />
<favorite launcher:uri="sms:" /><favorite launcher:uri="smsto:" />
<favorite launcher:uri="mms:" />
<favorite launcher:uri="mmsto:" />
</resolve>
名称 | 定义 |
---|---|
container | 图标的容器,-101 代表 Hotseat,-100 代表 Workspace。 |
screen | 页面位置,也是 Hotseat 自左到右的顺序位置。 |
x | X 坐标位置,也是 Hotseat 自左到右的顺序位置,与 screen 一致。 |
y | Y 坐标位置,由于 Hotseat 只有一行,故默认一直是 0。 |
favorite | 这里一般指地址 |
resolve 预置,一般预置需要自适应的应用图标,favorite 中配置 uri。
2.预置 workspace 图标
用户可以直接修改如下 worksapce 待机界面图标布局文件。
packages\apps\Launcher3\res\xml\default_workspace_XXX.xml
<favorite
launcher:screen="0"
launcher:x="-1"
launcher:y="-1"
launcher:packageName="com.android.settings"
launcher:className="com.android.settings.Settings" />
其中 x 轴或者 y 轴位置若是“-1”,代表待机界面 x 轴或者 y 轴的最后一个位置。
如果存在 Partner APP,请在 Partner APP 中修改待机界面默认布局文件。
3.预置 Hotseat 图标
Hotseat 图标位于待机界面最下面的一行,通常预置常驻应用,是在如下文件配置的。
Launcher3\res\xml\default_workspace_XXX.xml
<resolve
launcher:container="-101"launcher:screen="1"
launcher:x="1"
launcher:y="0" >
<favorite
launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_ME
SSAGING;end" />
<favorite launcher:uri="sms:" />
<favorite launcher:uri="smsto:" />
<favorite launcher:uri="mms:" />
<favorite launcher:uri="mmsto:" />
</resolve>
Hotseat 图标预置使用的是 resolve 标签和 uri 属性,好处是可以自适应。例如用户预置了其他第三方短信应用而没有使用原生。