掌握ConstraintLayout按比例设置视图大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了掌握ConstraintLayout按比例设置视图大小相关的知识,希望对你有一定的参考价值。

有时候在布局界面的时候,UI要求某个View或者某张图片按比例显示,以适应不同的屏幕分辨率。

通常我们时通过自定义View或者引入第三方的库来解决。现在我们既然已经使用了ConstraintLayout,它本身就支持这样的按比例设置View大小的功能。

下面我们来介绍如何使用:

  1. 首先我们在布局中添加一个View:

技术分享图片

此时,没有添加任何约束,显示的比例就是原始图片的比例。

  1. 添加水平方向的约束:

技术分享图片

添加完水平方向的约束后,注意此时默认的宽高为wrap_content。

  1. 将高度设置为match_constraint

技术分享图片

如上图:这里我们将高度设置为match_constraint,然后发现下面出现了一个三角,这个就是设置View比例的地方。

  1. 设置View比例

下面我们点击这个三角形,并设置宽高的比例:

  • 1:1
    技术分享图片

  • 1:2
    技术分享图片

这里设置的是宽度:高度的比例,我们查看源码可以看到这个属性:
技术分享图片

此时我们改变View的宽度,就会发现其高度也会保持这个比例而相应地变化了:

技术分享图片

总结

本文我们是以宽度:高度进行View比例的设置,当然我们也可以以高度:宽度进行设置,道理都是一样的。

设置View的比例也是ConstraintLayout相对于传统的布局容器一个强大的功能,它使得布局更加灵活,更加容易得进行屏幕适配。

下一篇:Android开发 - 掌握ConstraintLayout(十一)复杂动画!如此简单!,我们将介绍使用ConstraintLayout创建复杂动画。

如有更多疑问,请参考我的其它android相关博客:我的博客地址

以上是关于掌握ConstraintLayout按比例设置视图大小的主要内容,如果未能解决你的问题,请参考以下文章

如何根据另一个视图的高度/宽度按比例设置视图高度/宽度?

使用乘数在 UIStackView 内按比例设置视图 - 快速 - 以编程方式

Android开发 - 掌握ConstraintLayout复杂动画!如此简单!

如何在 SnapKit 中按比例设置边缘偏移与超级视图高度的大小

Android开发 - 掌握ConstraintLayout创建基本约束

在方向更改时自动缩放 UIView 以按比例缩放以适合父视图