如何在Flutter中动态尺寸的小部件上根据尺寸设置拐角半径

时间:2019-10-16 11:34:51

标签: flutter flutter-layout cornerradius

如何在小部件后调整大小的按钮上使用公式radius = hight/2确定小部件的拐角半径?

在这种情况下,子级是一个文本,其长度可以与传递的字符串相同。

这就是我得到的。 我将hight和maxWidth设置为零以包装文本大小,但是我想不出一种在应用转角半径时测量宽度的方法。

ButtonTheme(
  height: 0,
  minWidth: 0,
  shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(width/2)), //how can i calculate width?
  child: RaisedButton(
    onPressed: onPress,
    child: Text('Some String of variable length'),
  ),
);

我已经在网上搜索了,但没有发现任何问题。

1 个答案:

答案 0 :(得分:0)

如@pskink所述,您可以使用StadiumBorder

  

适合体育场形状的边框的边框(一个带有半圆形的框   两端))。

这里是一个示例,在TextField上写多行以查看结果:

Center(
  child: Container(
    decoration: ShapeDecoration(
      shape: StadiumBorder(
        side: BorderSide(width: 2.0),
      ),
    ),
    child: TextField(
      textAlign: TextAlign.center,
      minLines: 1,
      maxLines: 100,
    ),
  ),
)