首页 > 解决方案 > 飞镖中的响应容器圆角

问题描述

我在想,在 Dart/Flutter 中,你能不能在下一行插入一个半径的响应值而不是这个固定值

topLeft: Radius.circular(20.0)

我希望我能做类似的事情:

topLeft: Radius.circular(SOME SECRET CODE HERE JUST LIKE MEDIAQUERY THING THAT GETS RATIO FROM SCREEN SIZE)

我在中使用过 MediaQuery

 body: Container(
        width: MediaQuery.of(context).size.height * 0.4,
        height: MediaQuery.of(context).size.height * 0.6,
),

它完美地给了我绘制容器相对于屏幕尺寸的这些比率,所以我需要圆角来继承特定的比率,就像宽度和高度一样。

标签: flutterdartresponsive-designround-corner

解决方案


您可以创建一些变量来保存角落的计算值,然后使用 setState 来重建屏幕。因此容器将使用新值重建。

double leftCornerRadius = 0.0;
//calculate the corner and setstate
setState(){
  leftCornerRadius = 15.0;
}
//and on the container user the variable
topLeft: Radius.circular(leftCornerRadius)

因此,每次使用 setState 重新计算半径时,都会更改小部件上的半径。希望我能帮上忙。


推荐阅读