android快速上手(四)屏幕分辨率和单位概念浅析

物理尺寸:屏幕对角线的长度,如4寸(3寸=10cm)

分辨率:屏幕显示的总像素,如480*800(宽480个像素点,高800像素点)

像素密度:dpi,每英寸点数(1英寸=2.54cm)

某边的分辨率(总像素数)= 该边物理尺寸(单位是英寸) × 像素密度

手机屏幕密度:低密度(ldpi,120dpi),中密度(mdpi,160dpi),高密度(hdpi,240dpi),超高密度(xhdpi,320dpi)等

px:屏幕实际的象素。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。

dip:设备独立像素,以160dpi的设备为参照,在160dpi设备上1dip=1px,pixs = dips * (density/160)

dp:等同于dip

sp:用于标识字体的,它不仅跟屏幕尺寸有关,还跟设置的系统字体大小有关,用户修改系统字体大小会改变字体。

根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看TextView的源码可知 Android 默认使用 sp 作为字号单位。在160dpi屏幕中,当字体大小为100%的时候,1sp=1px。

public void setTextSize(float size) {
        setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
    }

用sp和dp代替px,在不同dpi屏幕下,呈现的高度大小是相同的,更接近物理呈现。

时间: 08-23

android快速上手(四)屏幕分辨率和单位概念浅析的相关文章

android快速上手(三)常用控件使用

完成了android的第一个程序HelloWorld,下面就开始控件的学习,下面是一些常见的控件. (一)TextView 简单的文本描述 (二)EditText 编辑框,输入文字信息 (三)Button 按钮,点击后会触发点击事件,可以对事件进行处理 (四)ImageView 图片控件,可以加载图片显示 (五)ListView 列表,需要跟适配器Adapter结合,适配器提供数据 (六)Toast 闪现提示语,常用于普通的提示文本,只显示一小段时间自动消失 (七)ScrollView 一般用于

android快速上手(二)android开发环境搭建及hello world

基本了解了java语法,下一步,我们一起开启hello world的神秘之旅. (一)android开发环境搭建 之前搭建android开发环境是件非常费力的事情,下载Eclipse,安装ADT等,如今android官方给我们提供了全套配置. https://developer.android.com/sdk/index.html 搭建android开发环境之前记得先安装jdk (二)开启Hello World之旅 (1)创建Hello World项目 安装完带ADT的Eclipse,打开Ecl

Android的长度单位及屏幕分辨率

屏幕分辨率基础 1.术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机是3.7英寸 Aspect Ratio(宽高比率) 指的是实际的物理尺寸宽高比率,分为long和nolong Milestone是16:9,属于long Resolution(分辨率) 和电脑的分辨率概念一样,指手机屏幕纵.横方向像素个数 Milestone是854*480 DPI(dot per

Android初级教程:屏幕分辨率

在app编码中经常需要获取手机的屏幕分辨率(宽*高),原来我直接上网拷贝代码,但在使用过程中却发现诸多不便. 不便一:下面代码中的getWidth和getHeight在adt上提示deprecated已经废弃了,实在扎眼 WindowManager wm = getWindowManager(); Display display = wm.getDefaultDisplay(); int screenWidth = display.getWidth(); int screenHeight = d

篇三、开发前知识补充:Android的长度单位和屏幕分辨率,这个也是转载~~

这篇文章有点早,不过很实用.单位的实用看最后的红色标注的部分. 屏幕分辨率基础 1.术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机是3.7英寸 Aspect Ratio(宽高比率) 指的是实际的物理尺寸宽高比率,分为long和nolong Milestone是16:9,属于long Resolution(分辨率) 和电脑的分辨率概念一样,指手机屏幕纵.横方向像素个

Android快速上手指南(WIP)

JNI是java调用C/C++的一种封装技术,由JVM负责处理真实的JNI call. Java官方的文档 http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html Android平台的 http://developer.android.com/training/articles/perf-jni.html 快速上手的代码范例: https://android.googlesource.com/pl

Android开发系列之屏幕密度和单位转换

由于Android的开源性,所以目前市面上面Android手机的分辨率特别多,这样的话就给我适配带来了一定的难度.要想做好适配,我们首先应该明白什么是分辨率.PPI.屏幕大小等概念,还有在不同的屏幕密度下,各个单位之间的转换关系. 屏幕大小指屏幕对角线的长度,通常使用"寸"来度量. 分辨率是指手机屏幕的像素点个数,例如720X1280就是指屏幕的宽有720个像素点,而高有1280个像素点. DPI每英寸像素,它是由对角线的像素点数除以屏幕的大小得到的.所以屏幕的密度对应关系为:,正是由

Android不同手机屏幕分辨率自适应【转】

有必要了解的 Android中常见的单位 dip, dp, px, sp之间的区别: dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素.px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多.pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用:sp: scal

Android屏幕分辨率概念(dp、dip、dpi、sp、px)

1.屏幕尺寸(screen size)就是我们平常讲的手机屏幕大小,是屏幕的对角线长度,一般讲的大小单位都是英寸.比如iPhone5S的屏幕尺寸是4英寸.Samsung Note3是5.7英寸. 2.像素(pixel)想像把屏幕放大再放大,对!看到的那一个个小点或者小方块就是像素了. 3.分辨率(Resolution)是指屏幕上垂直方向和水平方向上的像素个数.比如iPhone5S的分辨率是1136*640:Samsung Note3的分辨率是1920*1080: 4.dpi是dot per in