我有以下縮放代碼widget
double scale= 0.8;
double widthAndHeight = 200 ;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: GestureDetector(
onScaleUpdate: (detail){
scale=detail.scale;
setState(() {});
},
child: Transform.scale(
scale: scale,
child: Container(
color: Colors.blueAccent,
width: widthAndHeight,
height: widthAndHeight,
),
),
),
)
);
}
}
縮放已正確完成,但我注意到原始容器的寬度和高度為 200,即使縮放已更改和更新,它仍然完全相同!
問題:如何在每次縮放和更新程序后獲得容器的新實際寬度和高度
注意:我嘗試過去LayoutBuilder()嘗試找到新的寬度和高度,但它也給出了相同的第一個值!
uj5u.com熱心網友回復:
在這種情況下, Transform 不會更新你的widthAndHeight,它只是用你的比例值計算新的寬度和高度。
因此,獲得新寬度和高度的最簡單方法是撰寫自己的函式:
double getNewWidthAndHeight => scale * widthAndHeight
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/512871.html
標籤:扑镖
