1. 程式人生 > >掌握ConstraintLayout(十)按比例設置視圖大小

掌握ConstraintLayout(十)按比例設置視圖大小

約束 技術分享 content strong 自定義view 不同的 支持 -c 源碼

有時候在布局界面的時候,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(十)按比例設置視圖大小