教學影片: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將居中顯示。
沒有留言:
張貼留言