小部件推荐算法:
只能从一个应用中挑选一个小部件。
已经添加到桌面上的小部件不在推荐范围内。
路径:
packages/apps/Launcher3/quickstep/src/com/android/launcher3/model/WidgetsPredictionUpdateTask.java
2、4图标客制化
2、4、1双行显示
本功能通过prop属性控制:ro.launcher.iconlabelline
功能默认状态是关闭的,在Launcher3\res_unisoc\values\config_ext.xml中可以进行配置
<!-- add for app icon label display double lines --> <bool name="enable_icon_label_show_double_lines">false</bool>
2、4、2Hotseat应用图标名称显示
goole设计为通过图标来辨识应用,一般不显示title因为显示Hotseat title会导致待机区域变小,甚至导致某些widget无法显示
应用图标名称默认隐藏,若要显示,按照如下步骤修改:
- 步骤一:显示Hotseat应用图标名称:
Launcher3\src\com\android\launcher3\CellLayout.java
// Hotseat icons - remove text
if (child instanceof BubbleTextView) {
BubbleTextView bubbleChild = (BubbleTextView) child;
- bubbleChild.setTextVisibility(mContainerType != HOTSEAT);
+ bubbleChild.setTextVisibility(true);
}
- 步骤2 显示Hotseat区域文件夹图标名称
Launcher3\src\com\android\launcher3\WorkspaceLayoutManager.java
// Hide folder title in the hotseat
if (child instanceof FolderIcon) {
- ((FolderIcon) child).setTextVisible(false);
+ ((FolderIcon) child).setTextVisible(true);
}
- 步骤3:当拖拽动画结束后,显示Hotseat区域应用名称:
Launcher3\src\com\android\lancher3\BubbleTextView.java
public boolean shouldTextBeVisible() {
- // Text should be visible everywhere but the hotseat.
- Object tag = getParent() instanceof FolderIcon ? ((View) getParent()).getTag() : getTag();
- ItemInfo info = tag instanceof ItemInfo ? (ItemInfo) tag : null;
- return info == null || info.container != LauncherSettings.Favorites.CONTAINER_HOTSEAT;
+ return true;
}
- 步骤4:调整Hotseat图标大小
当修改完成后,若发现Hotseat图标名称显示不全,则需要调整Hotseat的大小
Launcher3\res\vaules\dimens.xml
- <dimen name="dynamic_grid_hotseat_extra_vertical_size"></