2023年7月29日 星期六

Flutter學習 -FittedBox組件

 教學影片:https://api.flutter.dev/flutter/widgets/FittedBox-class.html


FittedBox用於布局,可在父組件內將子widget按照一定的規則縮放和定位。


當`FittedBox`作為父widget時,它會根據其`fit`屬性的值對其子widget進行縮放和定位。

縮放的部分,`FittedBox`有七種`fit`屬性值可用:


1. `BoxFit.contain`:此為預設方法,將子widget進行等比例縮放,直到完全包含在`FittedBox`內部,未滿的部份會留空。

2. `BoxFit.cover`:將子widget進行等比例縮放,直到完全填滿`FittedBox`。如果子widget的長寬比與`FittedBox`的長寬比不同,縮放後子widget可能會被裁剪。

3. `BoxFit.fill`:將子widget進行非等比例縮放,將其完全填滿`FittedBox`這個父組件。

4. `BoxFit.fitWidth`:以子組件的寬度為標準,放大至寬度部分填滿父組件,長度依前面比率放大。

5.`BoxFit.fitHeight`:以子組件的高度為標準,放大至寬高度部分填滿父組件,寬度依前面比率放大

6.`BoxFit.none`:不做任何變動將子組件放入父組件,如果有超過範圍部分則捨棄。

7.`BoxFit.scaleDown`:子組件不變放入父組件中指定位置,如果子組件小於父組件則情況如BoxFit.contain,如果子組件大於父組件則如BoxFit.none。

除了`fit`屬性外,`FittedBox`還有`alignment`屬性,用於定位子widget在`FittedBox`中的位置。默認情況下,`alignment`屬性為`Alignment.center`,表示子widget將居中顯示。


沒有留言:

張貼留言