有些时候客户会要求把某一个App图标放在第一个位置,通过分析Launcher代码可以得出App界面是通过一个List集合加载的,所以我们只需要给这个集合通过包名的方式进行重新排序即可,把想要的顺序预定义好久OK。
1,预定义排序文件
当前文件根据包名来进行排序customize_app_positions.xml
<?xml version="1.0" encoding="utf-8"?>
<Apps xmlns:launcher="http://schemas.android.com/apk/res-auto">
<App
launcher:pkgName="com.android.settings"
launcher:position="0" />
</Apps>
这里是通过标签的方式来进行定义,然后在java中来读取标签,position是从0开始,想放在哪position可以自定义
2,需要定义attr
在values/attrs.xml中加入如下内容
<resources xmlns:android="http://schemas.android.com/apk/res/a