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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • GB2312编码_gb2312是简体中文的编码格式

    GB2312编码_gb2312是简体中文的编码格式在区码和位码的基础上,分别加上0XA0的偏移,便是GB2312编码;我们制作ASCII字库时,一般只做可以显示出来的字符字模,前面命令型的ASCII字符,我们不做字模,即从“空格开始”,ASCII表

    2022年8月3日
  • idea社区版没有web application_springcloud文档

    idea社区版没有web application_springcloud文档IDEA社区版没有springInitializr1、安装插件(失败)想着像IDEA旗舰版那样,有个springInitializr,但是打开发现没有(如下图)然后就去插件中搜索springInitializr,结果依旧没有找到,度了下才知道,插件不叫springInitializr,而是叫springAssistant,然后开心的搜索,很快打脸了,没有,什么鬼,下架了,难道?emmmm……度了下,就是啊,搜的没错啊,怎么搜不到呢,然后看到有人说HTTP代理下,emmmm……,试试。

    2022年9月16日
  • Linux 安装nodejs_pe安装linux

    Linux 安装nodejs_pe安装linuxlinux安装Node.js(详细)Node.js安装教程文章目录linux安装Node.js(详细)Node.js安装教程1:下载2:解压3:移动目录1:创建目录2:移动目录并重命名4:设置环境变量5:刷新修改6:安装完成,查看版本号1:下载wgethttps://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-x64.tar.xz更多版本选择:===》更多nodejs版本下载2:解压tarxfnode-v14.17.4-linux-x64.

    2022年9月12日
  • 剑指Offer面试题:11.调整数组顺序使奇数位于偶数前面建议收藏

    一题目:调整数组顺序使奇数位于偶数前面二解题思路如果不考虑时间复杂度,最简单的思路应该是从头扫描这个数组,每碰到一个偶数时,拿出这个数字,并把位于这个数字后面的所有数字往前挪动一位。挪完之后在

    2021年12月19日
  • 网关地址和网关IP是什么[通俗易懂]

    网关地址和网关IP是什么[通俗易懂]一、什么是IP?:1、IP地址是指互联网协议地址(英语:InternetProtocolAddress,又译为网际协议地址),是IPAddress的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。目前还有些ip代理软件,但大部分都收费。2、IP是英文InternetProtocol的缩写,意思是“网络之间…

    2022年6月16日
  • MariaDb数据库管理系统学习(二)使用HeidiSQL数据库图形化界面管理工具

    MariaDb数据库管理系统学习(二)使用HeidiSQL数据库图形化界面管理工具

    2021年12月9日

发表回复

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

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