android autosize原理,Android屏幕适配头条:autosize的原理

android autosize原理,Android屏幕适配头条:autosize的原理主要是固定一个UI尺寸,比如宽度360,然后为了各个density显示的宽度都是360dp,则通过:px=dp*density,density=screenWidthPx/360;记录下文章https://blankj.com/2018/07/30/easy-adapt-screen/我们知道px=dp*density,我们要适配的话需要确保dp不变去修改densit…

大家好,又见面了,我是你们的朋友全栈君。

主要是固定一个UI尺寸,比如宽度360,然后为了各个density显示的宽度都是360dp,则通过 :px=dp * density, density =screenWidthPx / 360;

记录下文章

https://blankj.com/2018/07/30/easy-adapt-screen/

我们知道 px = dp * density,我们要适配的话需要确保 dp 不变去修改 density,而安卓默认 density = dpi / 160,其意思就是 1dp 有多少 px,也就是像素密度,我们开发是按照一份设计稿来做的,那么有没有什么办法来让 density 和设计稿尺寸做联系呢?假设我们设计稿是宽度是 1080px,资源放在 xxhdpi,那么我们宽度转换为 dp 就是 1080 / 3 = 360dp,要在不同设备上宽度都表现为 360dp,那么就需要修改其 density = screenWidthPx / 360,这样就满足了上述条件,而和 density 相关的还有 densityDpi、scaledDensity,我们根据 density 等比修改 densityDpi、scaledDensity 即可。

由于 API 26 及以上的 Activity#getResources()#getDisplayMetrics() 和 Application#getResources()#getDisplayMetrics() 是不同的引用,所以在 API 26 及以上适配是没有影响的,但在 API 26 以下 Activity#getResources()#getDisplayMetrics() 和 Application#getResources()#getDisplayMetrics() 是相同的引用,导致适配有问题,这里要感谢 @MirkoWu 提出的问题,后面会有解决之法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/134988.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 无人机拍360全景操作细节详解

    对于制作360全景的小伙伴来说,无人机航拍是其中最重要的一课,无人机所展示的360全景地图是其他任何拍摄手段都不能比拟的,所以无人机拍摄也深受人们的欢迎。制作360全景的第一步肯定是拍摄照片我们先把无人机飞到空中大概50-70米的位置,把无人机相机调整到水平视角开始拍摄,朝一个方向横向旋转水平拍摄,拍摄一圈8张图片,每张照片20%左右的重合度。第一圈拍摄完成之后把无人机慢慢下降几米,或者调…

  • linux网卡驱动怎么看_电脑网卡驱动在哪里查看

    linux网卡驱动怎么看_电脑网卡驱动在哪里查看Linux下查看网卡驱动和版本信息查看网卡生产厂商和信号查看基本信息:lspci查看详细信息:lspci-vvv#3个小写的v查看网卡信息:lspci|grepEthernet查看网卡驱动查看网卡驱动信息:lspci-vvv#找到网卡设备的详细信息,包括网卡驱动列出加载的所有驱动,包括网卡驱动:lsmod查看模块

    2022年10月18日
  • 【计算机网络(微课版)】第4章 网络层与网络互连 课后习题及答案

    【计算机网络(微课版)】第4章 网络层与网络互连 课后习题及答案1.网络层向上提供的服务有哪两种?试比较其优缺点。解答:面向连接的虚电路服务和无连接的数据报服务。 对比的方面 虚电路服务 数据报服务 思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证 连接的建立 必须有 …

    2022年10月10日
  • idea2021.3 永久激活码破解方法

    idea2021.3 永久激活码破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • WinRAR去广告实现「建议收藏」

    WinRAR去广告实现「建议收藏」1.解压工具居然还有广告?2.我们可以看到我们点击压缩包之后弹出了窗口标题为WinRAR的广告窗口3.直接OD打开WinRAR.exe,右键->中文搜索引擎->智能搜索4.右键->查找,或使用快捷键Ctrl+F或Insert5.输入我们刚才看到的窗口标题名称6.最后找到两个WinRAR且有创建窗口的操作,我们都下断点尝试一下7.运行测试第一个断点,观察窗口弹出情况7.1F9运行程序,程序断在了我们第一个断点的位置,此时是没有窗口弹出的(因为程序断在了创建窗

  • 手机页面的前端开发工具_手机web页面

    手机页面的前端开发工具_手机web页面1.元素使用rem单位(相对于html的font-size,单位px)2.元素使用em单位(相对于自身的font-size,单位px)媒体查询样式的条件可以使用and满足想要的范围注意:手

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号