时间:2020/08/31
之前公司不允许csdn,笔记写在其它地方。最近整理过来

InvariantDeviceProfile中读取device_profiles.xml文件

如果存在多个device_profiles.xml文件,需要根据mk文件查看当前用的是哪个目录的资源
launcher会根据不同的版本,引用不同路径的文件。

详情见
launcher数据加载
查看编译launcher的版本
两篇笔记

读取时机
at com.android.launcher3.InvariantDeviceProfile.initGrid(InvariantDeviceProfile.java:275)at com.android.launcher3.InvariantDeviceProfile.<init>(InvariantDeviceProfile.java:147)at com.android.launcher3.InvariantDeviceProfile.lambda$2ne4gU8MrKko0odxr9TWY6PNL2M(Unknown Source:2)at com.android.launcher3.-$$Lambda$InvariantDeviceProfile$2ne4gU8MrKko0odxr9TWY6PNL2M.get(Unknown Source:0)at com.android.launcher3.util.MainThreadInitializedObject.get(MainThreadInitializedObject.java:42)at com.android.launcher3.LauncherAppState.<init>(LauncherAppState.java:79)at com.android.launcher3.LauncherAppState.lambda$static$0(LauncherAppState.java:49)at com.android.launcher3.-$$Lambda$LauncherAppState$9fk3Zfbmg-F33AGrA-xIGQu1tdc.get(Unknown Source:0)at com.android.launcher3.util.MainThreadInitializedObject.get(MainThreadInitializedObject.java:42)at com.android.launcher3.LauncherAppState.getInstance(LauncherAppState.java:59)at com.android.launcher3.Launcher.onCreate(Launcher.java:310)
device_profiles.xml

里面的默认布局不一定会加载,其他的配置生效
xml里可能有多个配置,会全部读取,然后和手机的最小宽高Math.hypot(x1 - x0, y1 - y0)
(差的平方然后求和再开根号,2点之间距离公式),选最小值的配置,即和桌面最接近的配置。

<profiles xmlns:launcher="http://schemas.android.com/apk/res-auto" ><grid-optionlauncher:name="4_by_4"launcher:numRows="4"launcher:numColumns="4"launcher:numFolderRows="4"launcher:numFolderColumns="4"launcher:numHotseatIcons="4"launcher:defaultLayoutId="@xml/default_workspace_4x4" ><display-optionlauncher:name="Go Device"launcher:minWidthDps="296"launcher:minHeightDps="491.33"launcher:iconImageSize="60"launcher:iconTextSize="14.0"launcher:canBeDefault="true" /></grid-option><grid-optionlauncher:name="5_by_5"launcher:numRows="5"launcher:numColumns="5"launcher:numFolderRows="4"launcher:numFolderColumns="4"launcher:numHotseatIcons="5"launcher:defaultLayoutId="@xml/default_workspace_5x5" ><display-optionlauncher:name="Large Phone"launcher:minWidthDps="406"launcher:minHeightDps="694"launcher:iconImageSize="56"launcher:iconTextSize="14.4"launcher:canBeDefault="true" /><display-optionlauncher:name="Shorter Stubby"launcher:minWidthDps="255"launcher:minHeightDps="400"launcher:iconImageSize="48"launcher:iconTextSize="13.0"launcher:canBeDefault="true" /></grid-option>
</profiles>
尾注

具体情况要看项目配置,是否有覆盖,是否配置了某一个外部资源文件等等。

android Q 图标大小,行列数等配置相关推荐

  1. Android - 启动器图标大小

    本文翻译自:Android - Launcher Icon Size For HDPI , XHDPI , etc. what should be the ideal size of the laun ...

  2. android 7图标大小,Android快捷方式位图启动器图标大小

    我在为快捷方式找到正确的启动器图标大小时遇到??问题. 在我的Nexus 7.2上,android.R.dimen.app_icon_size(请参见代码)的值为96像素. 但是,如果我在主屏幕截图中 ...

  3. android 推送图标大小,Android状态栏图标大小 – 使用Cordova / Phonegap推送插件

    我正在使用Ionic(Cordova AngularJS)开发 Android应用程序.有了它,我使用推送插件( https://github.com/phonegap-build/PushPlugi ...

  4. android标签栏图标大小,如何在android底部导航布局中增加图标大小?

    我在 Android中使用最近由设计库25中的谷歌引入的底部布局导航样式.在我看到的所有教程和问题中,图标中的图像是正常大小,但是我的图像非常小,尽管事实上我保存到drawable文件夹的图像是72× ...

  5. android系统图标大小

    软件安装之后,手机屏幕上会出现个程序的图片,这个log图标是怎么制定呢? 为了适应不同分辨率,常常需要res目录下drawable-hdpi.drawable-mdpi和drawable-ldpi中分 ...

  6. android 通知图标大小,android – 通知栏显示大图标和小图标

    我的应用程序中的通知栏仅显示自动收报机中的小图标(应该如此).但是,当"阴影"被拉下时,它会显示自动收报机中的小图标,以及我在Notification.Builder中设置的大图标 ...

  7. ANDROID 启动图标大小 UI规范

    1.尺寸 一般,144,往下自动适配: 1.drawable-hdpi 72*72 2.drawable-mdpi 48*48 3.drawable-xhdpi 96*96 4.drawable-xx ...

  8. Android Q适配攻略(一)(图标适配)

    Android Q之提前适配攻略(一)(图标适配) Android Q之提前适配攻略(二)(后台定位适配) Android Q之提前适配攻略(三)(唯一标识符更改) Android Q之提前适配攻略( ...

  9. Android Q之提前适配攻略(一)(图标适配)

    转自:https://blog.csdn.net/qq_37199105/article/details/89632104 前言: Android Q在2019年的3月份发布了beta1版本,这算是近 ...

最新文章

  1. linux脚本case语句,shell中的case语句,数组及函数
  2. Bugku——Web——矛盾
  3. vue ...mapMutations 的第一个参数默认为 数据对象state
  4. vb.net如何查询电脑麦克风收到声音_如何正确使用苹果电脑?
  5. 数据库系统(三)——数据库安全性控制
  6. spring3: 4.4 使用路径通配符加载Resource
  7. 快速排序 挖坑_由浅入深玩转快速排序算法
  8. 计算机网络【4】传输层
  9. 搜索引擎的那些事(网页下载)
  10. python jieba分词_从零开始学自然语言处理(八)—— jieba 黑科技
  11. 课后实践4:以支付宝为例,使用商业画布分析一款产品
  12. java 读写乱码_java读写文件出现乱码的解决方法
  13. PHP:解析url和查询参数query
  14. 有关上传到APPStore上iphone5,5c,4s下载应用,出现该APP与设备不兼容问题
  15. goland依赖一直飘红解决 MAC GOLANG
  16. 尚硅谷的后台管理系统学习笔记【尚硅谷】【Vue】
  17. 灰狼优化算法训练多层感知神经网络研究(Matlab代码实现)
  18. YOLOv3 cfg文件详解
  19. 语音识别基础算法——动态时间规整算法
  20. java 下载junit的jar包_junit4下载-Junit4.11完整包【附使用方法】-东坡下载

热门文章

  1. 电脑用久了又卡又慢,教你一招让你电脑调整为最佳性能
  2. SIFT算法原理详解
  3. 李彦宏夫人马东敏-----转自百度百科
  4. 教你如何用纯CSS代码实现垂直居中
  5. JEESZ REST服务接口文档
  6. 浅谈计算机辅助数学教学论文,论文浅谈对计算机辅助数学教学的认识.doc
  7. 什么是撞库攻击,如何预防撞库攻击?
  8. ImageNet数据集
  9. 首届“智慧岱岳,共创未来”高层次人才创新创业大赛等你来
  10. HTML Emmet语法