Android屏幕适配

为什么要适配

如何选择方案?不同的方案差别的关键点在于:效率和质量。在保证多屏幕、适配的目标下,我们要尽可能多的提高效率。

主流屏幕适配方案

一下几种适配方案都是已经在实际用开发中的比较成熟的方案,而且确实有很多开发者正在使用。不过他们各自也都存在一些缺陷。

dp适配

不足

  • 部分设备dpi另类,无法适配;
  • 设计稿和实现间单位不同(dp、px),实现效率低。

AndroidAutoLayout

鸿阳大神的名作。不再维护了很可惜。

不足

  • 框架在运行时会在onMeasure里面做变换,自定义的控件和特定的控件,可能会被影响或限制。
  • 项目与布局大小耦合度高。项目出问题时,可能重写全部布局。

宽高限定符

在res目录下,创建多种values-1280x720,dimen去限定。

以下必须加?

<supports-screens android:largeScreens="true"
	android:normalScreens="true" android:anyDensity="true" />

不足

  • 容错机制差,需精准命中具体尺寸;
  • 繁多的宽高尺寸,效率低。

smallestWidth适配

sw600dp。推荐使用

dimens_sw 拉丁吴,生成sw文件的工具

使用:1. 在DimenTypes中设置需要的dp;2. 在DimenGenerator设置设计稿宽高;3. 执行DimenGenerator.main()。

不足

  • 最低支持Android 3.2;
  • 多dimens文件导致安装包增大,在kb级别可接受;

今日头条屏幕适配方案

原理

DisplayMetrics.density控制影响着Android界面的拉伸效果,通过改变此成员变量达到适配的目的。

DisplayMetrics#scaledDensity和DisplayMetrics#density不可设置为同样的值。否则会导致字体大小失效。

还要监听下字体切换,调用 Application.registerComponentCallbacks() 注册下 onConfigurationChanged 监听即可。在切换字体时更改参数。

强烈推荐使用。

不足

  • 老项目中,可能需重改布局;

资料

资料

25学堂

程序图标尺寸

48 * 48
72 * 72
96 * 96
144 * 144
192 * 192

宽高主流数据

本段落中除特殊标明外,都是dp单位。
300,320,360,411,450,这几个尺寸是比较必要的。可在其中以10为单位增加几个。

平板适配情况:
不专门适配:不要生成480以上的适配文件,这样在平板上,系统就会使用480这个尺寸的dimens文件;专门适配:一般在600-800之间,关键尺寸是640,768。按照设计图走即可。

资料

平板

资料

标题

重点内容
如何创建不同版本下的dimens。类似hdpi,xhdpi。

如何找到当前主流设备属性
A,系统版本
1,Android Studio中分布图;2. U盟等第三方数据统计;3. 主流厂商产品统计

B,分辨率

C,屏幕尺寸

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值