当前位置: 首页 > 工具软件 > node-launcher > 使用案例 >

Launcher---图标预置

翁文康
2023-12-01

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页面位置,第几页。
xX 坐标位置
yY 坐标位置名称 定义
spanXWidget 宽度占用格子数
spanYWidget 高度占用格子数
packageNameWidget 包名
classNameWidget 类名

其他图标或 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页面位置,第几页。
xX 坐标位置
yY 坐标位置
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页面位置,第几页。
xX 坐标位置
yY 坐标位置
uriUri 类型的地址

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页面位置,第几页。
xX 坐标位置
yY 坐标位置

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 自左到右的顺序位置。
xX 坐标位置,也是 Hotseat 自左到右的顺序位置,与 screen 一致。
yY 坐标位置,由于 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 属性,好处是可以自适应。例如用户预置了其他第三方短信应用而没有使用原生。

 类似资料: