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


相关推荐

  • 轻松搞懂【TF-IDF、word2vec、svm、cnn、textcnn、bilstm、cnn+bilstm、bilstm+attention实现】英文长文本分类[通俗易懂]

    轻松搞懂【TF-IDF、word2vec、svm、cnn、textcnn、bilstm、cnn+bilstm、bilstm+attention实现】英文长文本分类[通俗易懂]项目来源:https://www.kaggle.com/c/word2vec-nlp-tutorial/之前我写过几篇博客:就这?word2vec+BiLSTM、TextCNN、CNN+BiLSTM、BiLSTM+Attention实现中英文情感分类代码详解就这?word2vec+SVM(支持向量机)实现中英文情感分类代码详解这两篇博客主要是基于中文进行情感分类的,那么本篇博客,我会以这个kaggle项目来介绍如何实现英文长文本情感分类。1实验数据本次数据集来源于kaggle项目“Bago

    2022年6月28日
    31
  • 建立数据库连接费时吗_数据库连接错误是什么原因

    建立数据库连接费时吗_数据库连接错误是什么原因相信很多朋友都遇到过WordPress提示“建立数据库连接时出错”这个问题,英文为“Errorestablishingadatabaseconnection”。[原创文章:www.777y.com]“建立数据库错误时出错”意味着由于某种原因,您的站点PHP代码无法与MySQL数据库连接以获取显示该页面所需的数据。[本文来自:www.777y.com]数据库连接出错的原因和处理方案数据库连接…

    2022年9月24日
    5
  • 深度信念网络(Deep Belief Network)[通俗易懂]

    深度信念网络(DeepBeliefNetwork,DBN)由GeoffreyHinton在2006年提出。它是一种生成模型,通过训练其神经元间的权重,我们可以让整个神经网络按照最大概率来生成训练数据。我们不仅可以使用DBN识别特征、分类数据,还可以用它来生成数据。DBN由多层神经元构成,这些神经元又分为显性神经元和隐性神经元(以下简称显元和隐元)。显元用于接受输入,隐…

    2022年4月12日
    225
  • ue4封装接口_ue4导出模型

    ue4封装接口_ue4导出模型原创文章,转载请注明出处。本文带大家认识UE4插件/模块的使用方式Dll。既然为DLL,那么我们就可以对其封装,做到不公开cpp的目的。1>新建一个Plugin2>在plugin中创建一个Actor类,并在里面写一个UE4的Log输出函数。3>对其进行编译,编译出不同模式的dll出来4>在UE4场景中测试我们Log函数5>删除cpp文件6>在我们的.build.cs中添加不参数编译的参数bUsePrecompiled=true;7>再到UE4场景中测试我们L

    2022年9月1日
    13
  • idea构建springboot_jsp项目搭建过程

    idea构建springboot_jsp项目搭建过程SpringBoot项目相对SpringMVC项目有搭建迅速,配置更少的优点。创建springboot项目有很多种方式,本文使用idea创建一个整合mongoDB和mysql数据库的简单的springboot项目。文章末尾附源码地址。搭建步骤:主要是以截图的方式介绍搭建过程。进入新建项目界面,按照下图操作经过以上步骤,基本项目框架就会搭建起来。因为项目中需要用到阿里的数据库连接池和jso

    2025年10月27日
    4
  • Android模拟器开发_安卓模拟器开发

    Android模拟器开发_安卓模拟器开发更多例子:https://code.google.com/p/playn/wiki/DemoLinksgameplay–http://gameplay3d.org/index.php旨在帮助独立游戏开发的生态系统,开源的跨平台的3D引擎支持BlackBerry10、PlayBook、AppleiOS5+、AndroidNDK2.3+、MicrosoftWindows7、AppleMacOSX、Linux完整着色系统,基于节点的场景图形系统,粒子系统,Fullfeatured

    2026年1月25日
    8

发表回复

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

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