Android屏幕适配

屏幕基础知识:
屏幕尺寸是屏幕对角线长度。eg:5英寸
屏幕分辨率 是长 1920个像素点 宽1080个像素点,屏幕的
屏幕像素密度 (DPI-dots per inch)是屏幕的每一英寸,可以显示像素(px)的个数
(重点)Dip:Desity Independent pixels的缩写,即* 密度无关像素。它已320x480分辨率,像素密度为160为基准。此时1dp = 1px;如-在480x800分辨率,像素密度为240,1dp=1.5px 。

  • 建立对应的文件夹
  • 代码计算
  • .9.png
  • 相对布局
  • 最小宽度Smallest-width限定符
  • (忽略)使用屏幕方向限定符

建立对应的文件夹

我们建立drawable-mdpi,hdpi,xdpi,xxdpi,xxxdpi相对应的文件夹,文件夹里包含不同尺寸的图片,系统会根据设备自动分配对应的文件夹下的图片,但是这种在瘦身方面表现不好,所以一般废弃。

代码计算

有时候我们需要在不同分辨率的机器处理相同的业务,如根据屏幕宽度,显示动态标签,因为屏幕宽度和长度的原因,显示的样式不一样,需要通过代码对当前设备及具体业务进行处理。eg:下图


image.png

.9.png

Android自带的一种图片格式,支持拉伸,缩放。

相对布局

相对能自动适应简单的布局结构

最小宽度Smallest-width限定符

  • 尺寸限定符:根据创建不同的文件夹来达到适配效果,比如手机和平板的适配。
    res/layout/main.xml
    res/layout-large/main.xml。
    通过large限定符分辨屏幕尺寸的方法,适用于android3.2之前。在android3.2之后,为了更精确地分辨屏幕尺寸大小,Google推出了最小宽度限定符。
  • 最小宽度限定符 ,这种最小宽度限定符适用于android3.2之后。所以如果要适配android全部的版本,就要使用large限定符和sw600dp文件同时存在于项目res目录下。
    res/values/layout.xml、
    res/values-large/layout.xml、
    res/values-sw600dp/layout.xml三个文件。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容