文档章节

Android屏幕尺寸,分辨率,屏幕适配剖析

风哲
 风哲
发布于 2017/02/08 14:29
字数 598
阅读 67
收藏 0
  1. 屏幕尺寸:屏幕尺寸指的是手机对角线的长度,可以直接用尺子测量换算,不论电脑还是手机或者电视的屏幕尺寸都是这个定义。1英寸 = 2.54厘米
  2. 屏幕分辨率:指的是手机屏幕上显示像素点的多少,比如160x128,指的是横向160个像素点,竖直方向128个像素点,不论是手机还是电脑或者pad的分辨率都是这个定义。
  3. px (pixels):图像元素即是我们所说的像素。像素是分辨率的尺寸单位,,每台设备中1px都是相等的。
  4. dip于dp等同(device independent pixels):设备独立像素,也有人叫他密度无关像素,跟设备的像素密度没有关系,这个单位是针对每一台设备独立存在,不同的设备1dp不一定相等。可以说是把一个设备的屏幕平均分成N分,然后重新分配,1dp就是其中的一份,每台设备屏幕大小不一样,同样的分成N份,那其中的一份自然就不一样大小。
  5. sp :(scaled pixels)可放大像素,用于字体适配。
  6. density:像素密度,设备每一尺寸屏幕所占据的像素点。计算公式:√{(长度像素数^2+宽度像素数^2)}/ 屏幕尺寸(勾股定理)
  7. 像素对应dpi文件夹,平常美工切图跟我们项目中的文件夹对应关系如下,一般来说都用1080p切图,就需要放到xxhdpi 文件夹中。

    "HVGA    mdpi"

    "WVGA   hdpi "
    "FWVGA hdpi "
    "QHD      hdpi "
    "720P     xhdpi"
    "1080P   xxhdpi "

  8. 我们一般在项目中的资源文件夹所对应的像素密度如下。

    drawable-ldpi:    对应屏幕密度为120的手机设备

    drawable-mdpi:   对应屏幕密度为160的手机设备(此为baseline,其他均以此为基准,在此设备上,1dp = 1px)

    drawable-hdpi:    对应屏幕密度为240的手机设备

    drawable-xhdpi:  对应屏幕密度为320的手机设备

    drawable-xxhdpi:对应屏幕密度为480的手机设备

  9. px与dp(dip),sp之间的转换
    dp =(px * 160)/ 像素密度
    sp = (px * 160)/ 像素密度
    以1080p切图为例:如果美工给定切图,标注132px,需要将切图放到xxhdpi文件夹中,像素密度为480。
    dp = (132 * 160) / 480 = 44dp;

 


 

© 著作权归作者所有

共有 人打赏支持
风哲
粉丝 0
博文 13
码字总数 12513
作品 0
海淀
私信 提问
屏幕适配的原理

初级游戏开发者通常都会遇到屏幕适配的问题,由于安卓手机屏幕差异很大,不同的手机屏幕大小各不相同,同时屏幕不同分辨率也不同,因此在对手机游戏进行测试的时候,屏幕适配的工作就显得非常...

kyzg2211
2016/07/08
123
0
android多分辨率多屏幕密度下UI适配方案

前言 Android设计之初就考虑到了UI在多平台的适配,它本身提供了一套完善的适配机制,随着版本的发展适配也越来越精确,UI适配主要受平台两个因素的影响:屏幕尺寸(屏幕的像素宽度及像素高度...

geeksu
2014/08/20
0
0
Android技能树 — 屏幕适配总结

前言: 关于屏幕适配,几乎每隔一段时间就会看见有人发出来说XXX方案,实现超级简单的适配方式等等。所以我把我目前了解过的常用的适配方案做个总结,并简单说说原理,从而让大家也初步了解各...

青蛙要fly
07/21
0
0
Android初级第九讲之适配和调试

本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Android适配需要考虑方方面面,主要是图片字体大小和API,但也要考虑其他场景下的一些问题。 先熟悉一下Android设备的dpi...

liuzxgeek
2016/12/14
0
0
android系统如何自适应屏幕大小

1、屏幕相关概念 1.1分辨率 是指屏幕上有横竖各有多少个像素 1.2屏幕尺寸 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 android将屏幕大小分为四个级别(small...

mfcai
2013/01/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

追加字节能优化性能

这种方式看起来很神奇,单如果深入理解处理器架构就能理解其中的奥秘。让我们先来看看LinkedTransferQueue这个类,它使用一个内部类型来定义队列的头队列Head和尾节点tail,二这个内部类Pad...

无知的小狼
34分钟前
4
0
性能优化(JVM概念及配置)

虚拟机组成 一次编写,到处运行 Java虚拟机是对操作系统的模拟,隔离差异 2018编程语言排行榜 一个复杂的构架 虚拟机的内部概念 运行原理 编译器,解释器执行流程 内存分配-线程模型 栈帧模型...

这很耳东先生
41分钟前
3
0
Scala之初步认识与环境准备

1. 了解 Scala 1.1. 什么是 Scala Scala 是 Scalable Language 的简写,是一门多范式的编程语言。 Scala设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚...

飞鱼说编程
今天
4
0
Vue项目分环境打包的实现步骤

在项目开发中,我们的项目一般分为开发版、测试版、Pre版、Prod版。Vue-cli的默认环境一只有dev和prod两个,之前每次要发布测试版或Pre版都是修改了源码中API地址后打包,这样很麻烦。如果能...

peakedness丶
今天
6
0
vue+lowdb+express

搭建流程: 1.安装Node.js; 2.安装npm; 3.安装Express; 搭建流程 npm install -g express 安装 express 生成器 npm install -g express-generator 查看是否安装成功,随便输的一个命令...

Js_Mei
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部