从UI适配上,我们能学到什么

  • 日期:07-14
  • 点击:(1841)

永盈会真人官网

c3d1ba3f-43da-445f-9718-b315a2dd921f

的解决方案.因为不让随意贴外链,这里就不贴了,不贴也没啥问题,很容易百度.

时间过了这么久,为啥单独搞了一篇关于UI适配的文章了一是因为最近工作需求;二是在适配的过程中学到了一些其他布局的用法,所以算是一篇近期工作总结性质的文章。

行,开整。

为什么DP效果并不好。

提到DP,咱们不得不提到几个公式:

px=密度* dp;密度=dpi/160; px=dp *(dpi/160);

我们可以看到,和DP PX之间的转换和DPI有着密不可分的关系那么它又是怎么算出来的呢上一张图:

fec240bcdace49d7bc6b02441be36c7f

说白了,DPI就是手机斜边除以屏幕尺寸

从上述的公式,我们可以看出,DPI的本质和手机屏幕的物理宽高有着直接的关系。

接下来我们看俩款手机:

1,屏幕分辨率:1920×1080,屏幕尺寸:5的话,那么dpi的约为440

那么这种情况下1DP=2.75px。

2,屏幕分辨率:1920×1080,屏幕尺寸:6的话,那么dpi的约为367

那么这种情况下1DP=2.3px。

因此我们可以看出来,对于不同的手机来说,如果它们的分辨率相同,但屏幕尺寸不同。那么即使DP相同,真正到手机上去展示时仍然会出现问题。

因此我们就需要进行适配.

XX起初,为了适应,各种基于百分比的适应思想一个接一个地出现。百分比布局的出现就是其中之一。这次我们将通过ConstraintLayout讨论百分比。

ConstraintLayout可以通过各种约束关系简化复杂的布局,大大减少了布局的层次关系(减少了UI渲染引起的时间消耗)。

ConstraintLayout还具有强大的百分比布局功能。

例如:

layout_constraintHorizontal_biaslayout_constraintVertical_bias

App: layout_constraintHorizontal_bias='0.3'

App: layout_constraintLeft_toLeftOf='parent'

App: layout_constraintRight_toRightOf='parent />

简单地说,当前Buttom的左边距为父布局宽度的30%

另一个有趣的方法是使用指南,如下所示:

Android: id='