美文网首页
Android - UI适配

Android - UI适配

作者: 超级呆 | 来源:发表于2024-02-17 15:06 被阅读0次

屏幕适配

尺寸概念解释
Dimensions - Google

android中的dp在渲染前会将dp转为px,计算公式:

 px = density * dp;
 density = dpi / 160;
=>
 px = dp * (dpi / 160);

宽高限定符适配

  1. 设定基准分辨率
  2. 计算不同分辨率下的dp
// 例如:
1. 基准分辨率宽度为375dp
2. 需要适配的分辨率宽度为1080dp
以基准分辨率的设计稿为1dp的长度时,1080分辨率的设备需要设置为1080/375=2.87dp

缺点

这个方案有一个致命的缺陷,那就是需要精准命中才能适配,比如1920x1080的手机就一定要找到1920x1080的限定符,否则就只能用统一的默认的dimens文件了。而使用默认的尺寸的话,UI就很可能变形,简单说,就是容错机制很差。

Note: The system chooses the resource that matches both in width and height. Therefore a resource that specifies both is strongly preferred over one that specifies only one or the other. For example, if the actual screen is 720 dp wide by 1280 dp high and one resource is qualified with w720dp and another is qualified as w700dp-h1200dp, the latter is chosen even though the former is an exact match for what it specifies.

Smallest-Width - SW限定符适配

原理和宽高限定符适配的方案是一致的

指的是Android会识别屏幕可用高度和宽度的最小尺寸的dp值(其实就是手机的宽度值),然后根据识别到的结果去资源文件中寻找对应限定符的文件夹下的资源文件。

优点

  • 非常稳定,极低概率出现意外
  • 不会有任何性能的损耗
  • 适配范围可自由控制,不会影响其他三方库
  • 在插件的配合下,学习成本低

缺点

  • 侵入性高,在所有地方都需要引用。
  • 还是没有办法覆盖所有的机型分辨率,部分机型可能适配效果还是不佳
  • 不能以高度为基准进行适配
  • 生成很多文件,增大APP体积1~2M

修改系统Density

默认px = density * dp,也就是屏幕总宽度dp = 屏幕宽度px / density
这个时候我们假设所有设备上的屏幕总宽度dp会等于我们设计图375dp,那么可以得出一个公式:

density = 屏幕宽度px / 设计图宽度(375dp)

通过系统api,将density赋值给系统,抛弃掉系统默认计算density的计算公式

优点

  • 使用成本非常低,操作非常简单
  • 侵入性非常低
  • 可适配三方库的控件和系统的控件

缺点

  • 会全局影响APP的控件大小,例如: 一些第三方库控件,他们设计的时候可能设计图尺寸并不是像我们一样是375dp,这样就会导致控件大小变形等一些问题。

参考文章

相关文章

  • Android UI适配总结之图片适配(1)

    由于Android的屏幕尺寸的碎片化,时至今日Android的UI适配依然是开发中必不可少的步骤。UI适配的适配,...

  • Android-UI

    Android知识体系,笼统分为UI,Data,interact UI 1.屏幕适配郭霖微信公众号:屏幕适配 ad...

  • Android高手笔记-屏幕适配 & UI优化

    Android高手笔记-屏幕适配 & UI优化 屏幕与适配 由于Android碎片化严重,屏幕分辨率千奇百怪,而想...

  • Android 常见适配对比

    参考 Android 目前最稳定和高效的UI适配方案 dp适配 优点 满足90%设备 缺点 个别机型需要单独适配另...

  • Android面试题

    1面 - 基础面】 你们 Android 开发的时候,对于 UI 稿的 px 是如何适配的? Android 目前...

  • App适配

    语言适配屏幕适配版本适配 语言适配 在包含文字的UI中,最好将文字与代码分离开。Android为我们提供了一个re...

  • 面试题专栏集合

    android面试 一份用心整理的Android面试总结 Android 目前最稳定和高效的UI适配方案 2018...

  • 2018 android 文章汇总

    Android面试:一份用心整理的Android面试总结 Android 目前最稳定和高效的UI适配方案 2018...

  • android:页面Ui适配方案整理(2)

    承接上文android:页面Ui适配方案整理这篇文章对当前主流的适配方法进行总结整理: 由上文可知适配需要解决的问...

  • Android TV 开发之屏幕适配

    前言 Android 的屏幕适配是指适配不同机顶盒 UI 框架层输出的分辨率和 dpi,而不是适配不同分辨率的电视...

网友评论

      本文标题:Android - UI适配

      本文链接:https://www.haomeiwen.com/subject/grzuadtx.html