首页 > 其他分享 >屏幕适配 部分知识点总结,CSDN小冰原创

屏幕适配 部分知识点总结,CSDN小冰原创

时间:2022-12-11 22:31:47浏览次数:44  
标签:知识点 mdpi 适配 displayMetrics 英寸 屏幕 像素点 小冰


/** * 作者:David Zheng on 2015/11/7 15:38 * * 


屏幕适配简介(了解)


  • Android的屏幕有大有小,为了对不同大小屏幕的设备提供最好的体验,需要对不同大小的设备进行不同的设计,让他们产生的效果一样的。
  • ,专门提供移动端数据统计的网站。查看Android屏幕设备,以及分辨率指数,发现android中的屏幕碎片化太严重。
  • 所以我们只要尽量适配这几种分辨率,就可以在大部分的手机上正常运行了。


屏幕适配中几个重要的概念 ( 记忆 )


  • 什么是屏幕尺寸、屏幕分辨率、屏幕像素密度?
  • 屏幕尺寸:屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米
  • 屏幕分辨率:横纵向上的像素点数,单位是px,1px=1个像素点   (屏幕适配和它没有关系)
  • 屏幕像素密度:每英寸上的像素点数,单位是dpi,即“dot per inch”的缩写。 (屏幕适配和dpi有关系)
  • 什么是dp、dip、dpi、px?他们之间的关系是什么?
  • px:其实就是像素,UI设计、Android原生API都会以px作为统一的计量单位,像是获取屏幕宽高等。
  • dp,dip和dpi:Density Independent Pixels ,也就是密度无关像素。每个英寸上的像素点

  • 什么是mdpi、hdpi、xdpi?如何计算和区分?
  • mdpi (medium-density) :   每个英寸约占160dpi。这个是基准线dpi
  • hdpi (high-density):每个英寸约占240dpi。
  • xhdpi(extra high-density):每个英寸约占320dpi。
  • xxhdpi (extra-extra-high-density ) : 每个英寸约占480dpi
  • 缩放因子:(原理性东西,理解)
  • ldpi : mdpi : hdpi : xhdpi : xxhdpi=3:4:6:8  : 12

  • icon图标的计算:  
  •  基准线是 mdpi,图标为:48*48
  •  ldpi :   0.75*48=36  所以 为  36*36
  •  hdpi:   72*72
  • xhdpi:   96*96


屏幕适配的几种方式(理解记忆)    


  • 图片适配(不是很常用)在res目录下,分别有这些mdpi、hdpi、xdpi、xxdpi 对应的文件夹。
    通过在这些不同的文件夹下,放入不同的图片,不同的手机会自动加载相应的图片,以达到屏幕适配。但是这种不太常用,因为图片比较暂用存储空间,打出来的apk包也会相应的变大。所以一般只用一套主流的图片,或者对各别有问题的图标进行适配。



  • 布局适配(不常用)
  • 比如有一个主流分辨率的手机加载布局后,UI效果很差,我们就可以使用布局适配
  • 语法:大的数字写到前面,小的数字写到后面,中间是x连接
  • 举个栗子:layout-1280x720
  • 没图说个**:

  • dimens适配(尺寸适配)(常用)
  • 不同values下写dimens,以便达到尺寸适配
  • 举个例子:values-1280x720
  • 图片说明:

  • 权重适配(常用)
  • 代码适配(常用)
  • 获得屏幕的宽高
  • 计算出控件所占屏幕的比例
  • 根据比例动态设置控件的宽高
  • 举个例子:

                    //获得屏幕的宽高



                  DisplayMetrics displayMetrics = new DisplayMetrics();   



                  getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);



                  int heightPixels = displayMetrics.heightPixels;



                  int widthPixels = displayMetrics.widthPixels;

标签:知识点,mdpi,适配,displayMetrics,英寸,屏幕,像素点,小冰
From: https://blog.51cto.com/mcxiaobing/5928807

相关文章

  • 【博学谷学习记录】超强总结,用心分享。Web重要知识点。
    1.网络通讯部分  1.1TCP与UDP区别?   TCP(TransmissionControlProtocol传输控制协议)是一种面向连接(连接导向)的、可靠的、基于IP的传输层协议。......
  • 前端知识点(js部分)
    目录一、JS简介简介ECMAScript的历史二、JS基础1.注释语法2.引入js的多种方式3.结束符号三、变量与常量编写和运行js代码的两种方式变量声明四、基本数据类型1.数值类型(Nu......
  • windows10 配置回环网卡loopback网络适配器
    文章转载CSDN,地址:如何在windows电脑端添加本地环回网卡loopback网络适配器_年华学习日记的博客-CSDN博客_添加环回适配器电脑端添加本地环回网卡loopback网络适配器在使......
  • 实验0:MFC对话框试水(自己对于MFC的总结,慢慢更新(老师的ppt挺枯燥难懂的,我自己整理一份知
    工具是vistualstudio2022MFC对话框制作首先当然要生成一个MFC对话框第一步:第二步:第三步:成果:(稍微放点控件上去)点击某个控件就能进入其对应的代码段,还挺方便......
  • css知识点简记
    1.改变position:fixed;定位基准元素的方式,父级以上元素的:①tranform属性值不为none的元素②perspective值不为none的元素③will-change中指定了任意CS......
  • YOLOv5 推理脚本知识点学习
    脚本位置:https://github.com/ultralytics/yolov5/blob/master/detect.py本文目的:通过学习该脚本,让我们可以自己编写别的项目的推理脚本。主函数:if__name__=="__main_......
  • springboot的基础知识点
    spring-boot-starter-parent的作用不直接继承spring-boot-starter-parent继承其他的父项目<dependencyManagement>  <dependencies>    <dependency>......
  • Angular8+面试题整理之:基础知识点解析
    本篇文章给大家整理分享一些基于Angular8+的面试题,带大家深入了解一下Angular8+的基本知识点,希望对大家有所帮助!相关推荐:2022年大前端面试题汇总(收藏)关于AngularCLI......
  • 28. 移动端适配
    一、移动端适配  屏幕是由一个一个发光的小点构成,这一个一个的小点就是像素。我们所说的分辨率说的就是屏幕中小点的数量。在前端开发中,像素主要分为两个情况讨论:CSS像......
  • Schemaless 写入主要处理逻辑汇总,这些知识点要记牢!
    小T导读:为了在数据采集项频繁变动的情况下保证用户仍然能够顺利地完成数据记录工作,​​TDengine​​ 提供了三种无模式写入协议,分别是InfluxDBLine协议、​​OpenTSDB......