最近公司要求定制首页图标位置,做一次归纳总结
挑重点说,先说修改位置
Gms版本位置修改
/vendor/partner_gms/apps/GmsSampleIntegration/res_dhs_full/xml/partner_default_layout.xml
非Gms修改
packages/apps/Launcher3/res/xml/default_workspace_5x5.xml
参数
首页最底下的快捷方式
<favorite 快捷方式
container="-101" 对应屏幕最下方位置(电话,短信.....,可以不加)
screen="0" ,//第1屏,后面依次加一
x="0" 最左侧是0,后面依次类推
y="0" 左下是0 ,往上依次加一
packageName="com.google.android.dialer" 包名 className="com.google.android.dialer.extensions.GoogleDialtactsActivity"
/>
<folder title="@string/google_folder_title" screen="0" x="0" y="4">
对应的是软件夹
添加Google 搜索快捷方式
<appwidget
packageName="com.google.android.googlequicksearchbox"
className="com.google.android.googlequicksearchbox.SearchWidgetProvider"
screen="0"
x="0"
y="0"
spanX="5"
spanY="1"
/>
避免出现两个快捷搜索框,可以把原生的隐藏 Launcher3 中 FeatureFlags.java
public static final boolean QSB_ON_FIRST_SCREEN = false; 置为false
ps:GMS 的搜索框会覆盖原生应用搜索框,要想不覆盖,只需要不编译GMS的即可
PRODUCT_PACKAGES += \
GmsSampleIntegration \
SearchLauncherQuickStep --->Launcher3QuickStep
编译
mmm vendor/partner_gms/apps/GmsSampleIntegration -j8
安装
adb install -r out/target/productxxxx/system/product/app/GmsSampleIntegration/GmsSampleIntegration.apk
清除一下Launcher ,生效
adb shell pm clear com.android.launcher3