Android学习笔记:App屏幕适配相关

来源:互联网 发布:新浪软件 编辑:程序博客网 时间:2024/06/05 17:08

     一谈到Android开发,就少不了拉扯到屏幕适配问题,为什么要屏幕适配?原因很简单,因为Android手机相关设备款式型号太多太多(据统计,2012年支持Android的设备共有3997种,2013年达到11868种,到2014年时高达18796种,现在会更多),不同的设置屏幕大小不同,如果我们用单一的方式去就对待所有的手机,那结果可想而知!所以我们需要针对不同设备做屏幕适配。

   谈到尺寸,我们就要涉及到相关的概念:

1,屏幕尺寸:指设备屏幕对角线的长度,一般以英寸(inch)为单位,

2,屏幕分辨率:指屏幕在横纵方向上的像素点数,单位是我们常用的px,1px=1像素点,我们手机通常以纵向像素*横抽像素来表示,如1920*1080,

3,屏幕像素密度:指单们尺寸(每英寸)上的像素点数,单位是dpi(dot per inch),像素密度与屏幕的尺寸和分辨率有关,

4,dp和dip:dp是Density Independent Pixels的缩写,指与屏幕密度无关的像素,以160dpi为基准,1dip=1px,

5,sp:是Scale Independent Pixels的缩写,指可以根据 文字大小 首选项进行缩放的像素单位,一般用与字体大小 设置,也是Google所推荐的,

6,我们在开发app时,官方推荐使用的字体大小分别有:12sp,14sp,18sp,22sp,不推荐使用奇数大小的字体。

另外我们在项目中存在几个图片文件夹区别:

名称                                             像素密度范围

drawable-mdpi                         120dpi-160dpi

drawable- hdpi                          160dpi-240dpi

drawable-xhdpi                          240dpi-320dpi

drawable-xxhdpi                       320dpi-400dpi

现在也出现了xxxhdpi的屏幕,对应的像素范围400dpi-480dpi

屏幕适配解决方案:

  • 支持各种屏幕尺寸如常用的:480*800,720*1280,480*854,1080*1920等
    • 布局的时候使用wrap_content ,match_parent或weight
    • 使用相对布局而不能用绝对布局
    • 根据手机屏幕尺寸不同设置不同布局
    • 使用限定符(使用布局别名,最小宽度限定符,尺寸限定符,屏幕方向限定符,动拉伸位图(.9图)
  • 支持各种屏幕密度
    • 使用非密度制约像素(dp)
    • 提供备用位图(.9图)
  • 实施自适应用户界面流程
    • 确定当前布局
    • 根据当前布局做出响应
    • 重复使用其他活动中的片段
    • 处理屏幕配置变化


0 0
原创粉丝点击