autosize px转dp_Android 屏幕适配以及autoSize的原理.md

autosize px转dp_Android 屏幕适配以及autoSize的原理.mdAndroidAutoSize的原理px=dp*density;根据百分比适配的话,如果设计稿给的是1080×1920,那么宽就为360dp,像素为1080px,density为3,占满100%如果是在720×1280的话,360dp*density=720,所以这个density为2,将density修改为2就可以了如果是在1080×1920的设计图中,150px,也就是50dp…

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

AndroidAutoSize的原理

px = dp * density;

根据百分比适配的话,

如果设计稿给的是1080×1920,那么宽就为360dp,像素为1080px,density为3,占满100%

如果是在720×1280的话,360dp * density = 720,所以这个density为2,将density修改为2就可以了

如果是在1080×1920的设计图中,150px,也就是50dp,占比 150/1080

那么在720×1280中,50*mDensity/720 = 150/1080,所以mDensity = 2,根据标准的图,动态修改mDensity,百分比适配

DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

displayMetrics参数如下:

widthPixels:屏幕宽度

heightPixels:屏幕高度

densityDpi:屏幕密度,每英寸的像素数

density:密度比值,和densityDpi相关,其实就是densityDpi/160得出来的值(160密度就是谷歌定的一个密度标准),不同手机dp换算px就是通过该值。

scaledDensity:同density,用于文字缩放的计算,也就是sp

xDpi:水平方向的真实密度

yDpi:垂直方向的真实密度

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139486.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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