Android开发 - 掌握ConstraintLayout(十)按比例设置视图大小

栏目: Android · 发布时间: 6年前

内容简介:有时候在布局界面的时候,UI要求某个View或者某张图片按比例显示,以适应不同的屏幕分辨率。通常我们时通过自定义View或者引入第三方的库来解决。现在我们既然已经使用了ConstraintLayout,它本身就支持这样的按比例设置View大小的功能。下面我们来介绍如何使用:

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

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

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

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

Android开发 - 掌握ConstraintLayout(十)按比例设置视图大小

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

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

Android开发 - 掌握ConstraintLayout(十)按比例设置视图大小

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

  1. 将高度设置为match_constraint

Android开发 - 掌握ConstraintLayout(十)按比例设置视图大小

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

  1. 设置View比例

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

  • 1:1

    Android开发 - 掌握ConstraintLayout(十)按比例设置视图大小
  • 1:2

    Android开发 - 掌握ConstraintLayout(十)按比例设置视图大小

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

Android开发 - 掌握ConstraintLayout(十)按比例设置视图大小

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

Android开发 - 掌握ConstraintLayout(十)按比例设置视图大小

总结

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

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

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

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出WebAssembly

深入浅出WebAssembly

于航 / 电子工业出版社 / 2018-11 / 128.00元

WebAssembly是一种新的二进制格式,它可以方便地将C/C++等静态语言的代码快速地“运行”在浏览器中,这一特性为前端密集计算场景提供了无限可能。不仅如此,通过WebAssembly技术,我们还可以将基于Unity等游戏引擎开发的大型游戏快速地移植到Web端。WebAssembly技术现在已经被计划设计成W3C的标准,众多浏览器厂商已经提供了对其MVP版本标准的支持。在Google I/O ......一起来看看 《深入浅出WebAssembly》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具