Android 屏幕适配

基本概念

  • dpi : dots per inch 屏幕密度 = ( height^2 + width^2)的平方根 ➗size,从这里的size为手机的尺寸是对角线的长度。 dpi是打印机常用单位(因而也被称为打印分辨率),而不是每英寸的像素数。安卓中屏幕密度分为4种:low,medium,high,extra high
    在系统DisplayMetrics类中可以查看到一些这些 ldpi - 120dpi , mdpi - 160dpi , hdpi - 240dpi , xhdpi - 320dpi , xxhdpi - 480dpi , xxxhdpi - 640dpi
  • px : pixls 1px代表一个物理像素点
  • ppi pixels per inch
  • dp/dip : device independent pixels(设备独立像素),屏幕像素密度是分辨率和显示尺寸的比值 。dp能够让同一数值在不同的分辨率展示出大致相同的尺寸大小。pixel =dp(densityDpi/160) 或者 pixel = dipdensity。可以看出当屏幕密度160时1dp=1px。density 与densityDpi 可以通过DispalyMetric类来获取。Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它们对应的dp到px的系数分别为0.75、1、1.5和2,这个系数乘以dp长度就是像素数。

适配Tips

  • 使用wrap_content、math_parent、weight
  • 使用相对布局,禁用绝对布局
  • 使用限定符
  • 使用尺寸限定符res/layout-large/main.xml
  • 使用最小宽度限定符
  • 9patch图片

适配方案

针对不同分辨率设置专一文件夹,参见洪洋的百分比思路

你可能感兴趣的:(Android 屏幕适配)