安卓开发中常见的屏幕适配方法

重要的概念:
一、屏幕尺寸:
    屏幕对角线的长度 单位   英寸    1英寸 = 2.54cm
二、屏幕的分辨率:
    屏幕宽高的像素点数 单位是 px像素   
    一些主流机型的分辨率:   1280×720   1920×1080    2560×1440
三、屏幕像素密度:
    屏幕每英寸所含像素点数
四、dpi
    单位 --   屏幕像素密度的单位
五、px
    单位 --   像素的单位
六、sp
    单位  --   描述字体大小的单位
七、dp(dip)
    独立的像素密度,与密度无关的像素
    dp =  px ×  比例     
    比例 根据屏幕像素密度的不同而改变   如果屏幕的像素密度为160 dpi   则 dp与px 1:1    如果像素密度为 240dpi 则dp:px = 1:1.5   等等
    

适配的方案:
一、多套图片
    制作多套分辨率不同的图片 来放在res  文件夹下不同的drawable资源文件夹下 ,系统会根据当前屏幕的像素密度的不同来
    分别加载不同文件夹下的资源
    注意:相同的图片在不同的文件夹下 名字必须一致
    如果只有一套图片,则默认放在hdpi文件夹下 ,因为 系统加载该文件夹下的文件消耗最小
    多套图片:不是所有的图片都需要做多套图片  一般情况下  最需要做多套图片的是 logo
二、多使用线性布局与相对布局 禁用绝对布局
    使用 wrap_content  match_parent   weight
    确保灵活使用并适应各种布局
三、布局
    通过添加修饰符来加载不同的布局文件
    layout-land       横向屏幕 加载该文件夹下的文件
    了解
    layout-small      屏幕尺寸小于3英寸左右的屏幕
    layout-normal      屏幕尺寸小于4.5英寸左右的屏幕
    layout-large      4英寸到7英寸之间
    layout-xlarge     大于7英寸小于 11英寸
四、dimention
    使用资源文件 values
    新建文件夹  values-1377x899      命名规范:  values 加上中横线  -    在加上屏幕分辨率中数大的   1377 加上小x  再加上屏幕分辨率 数小的  899
    在该文件夹下 添加  文件   dimens.xml
    使用方法与 values  -  dimens.xml 一样
    在新建文件夹下的dimens文件中创建的值必须在 values 文件夹下  添加默认值
    了解
    values-small
    values-normal
    values-large
    values-xlarge
    
    sw<600>    最小宽度大于600 的屏幕
五、代码适配方案
    通过 DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
    获取屏幕宽度  
    定义基础宽度,计算获取到的屏幕宽度与基础宽度的比例
    拿到比例后 计算每个View 的位置及大小  进行等比例缩放
    所有单位为像素px    必须使用java代码的方式写布局
六、点9图片
    工具路径:sdk/tools/draw9path.bat
    可拉抻的图片
七、清单文件 中
    supports-screens
      anyDensity   = true  支持任何像素密度的屏幕     默认就是支持的
八、国际化语言
    创建  values文件夹    values -   加上国家缩写
    在文件夹中创建string.xml 文件 将语言进行国际化转换  
    注意  在新建文件夹中 添加的 字符串必须在 values文件夹下 的string 里建立默认值
九、SDK 版本适配
    
    
    

        
    
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值