首先声明:我会踩坑,是因为我对Android屏幕适配和PxCook使用了解的不到位,并不是说他们本身存在什么问题。。。

先说说PxCook(像素大厨),真是个好东西,UI设计师给到开发人员的设计图,都是px值标注,而使用PxCook可以自动将px转成Android开发适用的dp值,并且可以切换不同dpi查看对应的dp值。

关于ScreenMatch,关于他的用法,网上已经有很多介绍了,我就不再多少,接下来,主要说说他们两个如何配合使用;

在ScreenMatch配置文件中,需要填写base_dp(基准值)、match_dp(需要适配的值)、ignore_dp(不需要适配的值)、、、

当时就让我很懵逼,base_dp到底应该填多少,设计图支持这么多种尺寸(mdpi、hdpi、xhdpi、、、)。

重点建议1:设计图只需要选择一种dpi就可以,然后右边就会自动计算出UI图的对应宽高dp值,

重点建议2:ScreenMatch  最小宽度适配符,选择宽和高中最小的尺寸:例:1280dp×720dp,选择720dp,不管是横屏设备还是竖屏设备都要选择宽高最小值。

重点建议3:将选好的最小dp值填入base_dp,之后就根据这个尺寸下的UI图标注的dp值编写界面。

然后将想要适配的屏幕对应的最小宽度dp填入match_dp中。

特定设备屏幕适配:需要自己去计算需要适配的最小限度符大小,

使用adb 命令:

adb shell wm density   获取设备屏幕density值 (例:240)

adb shell wm size     获取屏幕分辨率   (例1920×1080)

计算    sw = 1080 /(240/160)= 720     至于为什么除160   自己查一哈

所以将720填入match_dp中。

AS有UI预览功能,但是我在开发TV界面时,发现预览只能选择1080p Xhdpi   和 720p tvdpi两种,总是预览界面与显示不匹配,原因是  我没有适配 xhdpi尺寸,xhdpi对应的最小限定符值为 540dp。当生成value-sw540dp资源文件时,预览界面与实际运行的效果相差无几。

重点建议4: 一旦选定base_dp值后,不要再去切换PxCook的dpi。

之后,pxCook显示多少dp值,xml就使用多少dp值,运行后 系统会自动根据设备的density值选择合适的value资源文件。

ScreenMatch适配方案和PxCook配合使用踩坑记录相关推荐

  1. 【MathType安装】Office2019+MathType7.4.8.0+踩坑记录+最终使用方案

    使用Office2019安装MathType7.4.8.0屡屡碰壁,最终使用的解决方案不同于网络上的大多数方法.尽管当前记录的解决方案还不完美.未做到一劳永逸,但能用就行. MathType安装包获取 ...

  2. Dubbo3的Triple协议踩坑记录

    Triple协议踩坑记录 Triple协议 Triple 协议是 Dubbo3 提出的基于 HTTP2 + gRPC 的开放协议,完整兼容 gRPC over HTTP/2,旨在解决 Dubbo2 私 ...

  3. 为Jupyter notebook配置R kernel过程及踩坑记录

    为Jupyter notebook配置R kernel过程及踩坑记录 注意:本文为作者安装过程及折腾的过程,内容比较冗杂,如果读者想直接创建一个属于自己的子环境则参考: 如下文章: anaconda下 ...

  4. 【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错

    [踩坑记录]mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错 报错记录 解决方案 推荐方案 使用uuid作为主键,修改id的类型为bigint ...

  5. sonar覆盖率怎么统计的_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(上)...

    本文为霍格沃兹测试学院优秀学员关于 Jacoco 的小结和踩坑记录.测试开发进阶学习,文末加群. 一.概述 测试覆盖率是老生常谈的话题.因为我测试理论基础不是很好,这里就不提需求.覆盖率等内容,直奔主 ...

  6. mvn exec: java_实战|Java 测试覆盖率 Jacoco插桩的不同形式总结和踩坑记录(下)

    本文为霍格沃兹测试学院优秀学员关于 Jacoco 的小结和踩坑记录.测试开发进阶学习,文末加群. 六.注意事项汇总 修改 JAVA_OPTS 参数时,如果位置不对,可能造成代理无法启动. java - ...

  7. 日常踩坑记录-汇总版

    开发踩坑记录,不定时更新 心得 RTFM 严谨的去思考问题,处理问题 严格要求自己的代码编写习惯与风格 注意 单词拼写 20200207 mybatis plus 自带insert插入异常 sql i ...

  8. webview进行下载踩坑记录

    webview下载操作的踩坑记录 背景记录 由于公司需要, 需要在在webview中执行下载操作, 而且下载完成之后还需要跳转到自动安装页面~~~~ 接下来就是踩坑报告 1.webview执行下载操作 ...

  9. 微信vue路由跳转兼容_Vue微信公众号开发踩坑记录

    需求 微信授权登录(基于公众号的登录方案) 接入JS-SDK实现图片上传,分享等功能 现状及难点 采用的Vue框架,前后端分离模式(vue工程仅作为客户端),用户通过域名访问的是客户端,但是微信授权中 ...

最新文章

  1. 协议分析中的TCP/IP网络协议
  2. PIL.Image convert to numpy array
  3. lambdas 排序_Java8 Lambdas:解释性能缺陷的排序
  4. socket接收时信号量阻塞了会丢数据吗_浅谈Java网络编程——非阻塞I/O
  5. Vue 返回记住滚动条位置详解
  6. MCGSpor软件下载及安装教程
  7. 双线性插值GPU加速
  8. 日语N5名词整理:单词按发音汇总
  9. window计算机桌面的组成,Windows 10桌面的组成,Win10桌面介绍
  10. 使去中心化媒体网络相关联的NFT元数据标准
  11. python做数据透视表_利用Python进行数据分组/数据透视表
  12. 分析方法10---AARRR模型分析方法
  13. 群晖日历同步到android,用群晖calander日历做华为手机、ipad、mac三方通讯录和日历同步 2020-12-28...
  14. Mac操作系统-软件安装
  15. java全文检索word中的内容_搜索引擎时对WORD,EXCEL,PDF,POWERPOINT文件全文检索的总结...
  16. office 论文 页码_毕业论文word里面怎么弄以下这些页码?第一页不显示。 第二三页是I II ,四页开始以下是1234。求详细方法...
  17. 林深时见鹿,海蓝时见鲸
  18. 求任意多边形面积-有向面积
  19. 基于Python读取Excel表格文件数据并转换为字典dict格式
  20. 肖特基、整流、开关、快恢复二极管的区别

热门文章

  1. win10无限重启_Win 10出现错误代码:0xc0000001
  2. xlistview+imageloder+图片缓存到内存卡
  3. MATLAB涡旋检测算法,基于VG算法
  4. 面试官:说说Git中 fork, clone,branch这三个概念,有什么区别?
  5. Jakarta Commons Logging(JCL)开发手记
  6. 《前端之路》之三 数组的属性 操作方法(上)
  7. steam更新出错 应用运行中
  8. 2022-2028全球与中国食品级润滑油和润滑脂市场现状及未来发展趋势
  9. Python进制转换的完全实现——2/10/16进制原/补码互转
  10. 小度路由刷openwrt