相关视频:
相关文章:
Android屏幕适配最优方案(对今日头条方案详细解释)
android屏幕分辨率适配(多文件适配)
安卓硬件信息:友盟全域罗盘
Android Design:Android Design
举个栗子:华为Mate7,屏幕尺寸为 6 inch,分辨率为1920*1080,首先计算出对角线分辨率为2202,除以6得到367,因此它的dpi就为367。
dpi:屏幕像素密度,是指每英寸上的像素点数,单位是dpi,即"dot per inch"的缩写;屏幕像素密度与屏幕尺寸和屏幕分辨率有关。
dp或dip:Density Independent Pixels的缩写,即密度无关像素,以160dpi为基准,1dip=1px。
公式: density = dpi/ 160
dp = px / density
实际计算:density = dpi/ 160 = 367/160=2.29
dp=1080/2.29=471
Q1、什么是屏幕尺寸、屏幕分辨率、屏幕像素密度?
Q2、什么是dp、dip、sp、px?之间的关系是什么?
Q3、什么是mdpi、hdpi、xdpi、xxdpi?如何计算和区分?
Q4、支持各种屏幕尺寸方面需要注意什么问题?
Q1、什么是屏幕尺寸、屏幕分辨率、屏幕像素密度?
- 屏幕尺寸:屏幕尺寸指屏幕的对角线的长度。单位是英寸,1英寸=2.54厘米。
- 屏幕分辨率:是指在横纵向上的像素点数;单位是px,1px=1个像素点;一般以纵向像素*横向像素,如1920*1080。
- 屏幕像素密度:是指每英寸上的像素点数,单位是dpi,即"dot per inch"的缩写;屏幕像素密度与屏幕尺寸和屏幕分辨率有关。
举个栗子:华为Mate7,屏幕尺寸为 6 inch,分辨率为1920*1080,首先计算出对角线分辨率为2202,除以6得到367,因此它的dpi就为367。
Q2、什么是dp、dip、sp、px?之间的关系是什么?
- px:像素点,构成图像的最小单位(一个像素没有固定大小);
- dp或dip:Density Independent Pixels的缩写,即密度无关像素,以160dpi为基准,1dip=1px。
- sp: 即Scale-Independent Pixels,可以根据文字大小首选项进行缩放。
关于sp,谷歌在开发指导建议:
- 最好使用12sp以上来定义字体大小,否则用户会看不清楚;
- 最好使用偶数,不要用奇数,也不要使用小数,防止在字体进行放缩的时候精度丢失;
- 首选12sp,14sp,18sp,22sp这四种大小来设置字体大小;
dp = px / density
density = dpi/ 160
Q3、什么是mdpi、hdpi、xdpi、xxdpi?如何计算和区分?
mdpi 120~160dpi 48*48px
hdpi 160~240dpi 72*72px
xhdpi 240~320dpi 96*96px
xxhdpi 320~480dpi 144*144px
xxxhdpi 480~640dpi 192*192px
比例 1 : 1.5 : 2 :3 :4
Q4、支持各种屏幕尺寸方面需要注意什么问题?
- 使用wrap_content、match_parent、weight;
- 使用相对布局,禁用绝对布局;
- 使用限定符;
- 使用自动拉伸位图;