Android 的smallestWidth适配

由于市场上的各式各样的机型,尺寸也是各式各样。最近在项目里面也做过比较多的界面适配。对比下来,使用smallestWidth的适配较稳定。

适配工具:dimens_sw
工具设计思路:在dimens_sw项目中DimenGenerator.class添加设计稿的高度和宽度尺寸,运行项目后可以获取到smallestWidth值,再根据获取到的smallestWidth值,在DimenTypes.class文件中配置DP_sw__smallestWidth(smallestWidth),其中smallestWidth用之前获取的值代替,前面的smallestWidth也是。

再次运行项目后就可以得到这样的文件夹了
Android 的smallestWidth适配_第1张图片
将这些文件复制到自己的项目中,就可以在xml布局文件中直接使用 android:layout_height="@dimen/qb_px_40"设置尺寸了。其中qb_px_40的40就是UI设计稿纸上面的大小,不需要再次适配计算。

看起来很复杂,其实习惯了就很方便了。简单使用步骤来说

使用:

  1. clone项目后,用android studio运行项目。
  2. 插上自己需要适配的手机或平板设备(真机调试目的是为了获取设备的界面高度和宽度尺寸)
  3. 根据Ui设计稿纸上面的(我是在蓝湖里面右上角显示UI设计稿纸尺寸640*400)Android 的smallestWidth适配_第2张图片
  4. DimenGenerator.class文件里面修改Android 的smallestWidth适配_第3张图片
  5. 运行项目,在运行目标设备上可以看到如下(待插图)Android 的smallestWidth适配_第4张图片
  6. 设备上的dpi数值是smallestWidth = 752: 所以在DimenTypes.class中添加DP_sw__752(752)Android 的smallestWidth适配_第5张图片
  7. 再次运行项目就可以得到values-sw752dp文件夹了,将values的dimens文件和values-sw752dp复制到自己的项目中(最好是复制所有values-sw文件,如果下次出现smallestWidth = 750,系统就会自动寻找最接近的文件)。然后就可以直接使用了。

你可能感兴趣的:(android进阶)