Flutter 动态减小小部件的大小?

Flutter 动态减小小部件的大小?,flutter,Flutter,我想制作一个如下所示的小部件-动态: 这是我的尝试,我想动态减小大小,因为我定义了较大圆的初始大小: Row _pagesIndcator(int length) { List<Widget> points = <Widget>[]; for (var i = 0; i < length; i++) { points.add(Padding( padding: const EdgeInsets.only(right:2.0),

我想制作一个如下所示的小部件-动态:

这是我的尝试,我想动态减小大小,因为我定义了较大圆的初始大小:

Row _pagesIndcator(int length) {
  List<Widget> points = <Widget>[];

  for (var i = 0; i < length; i++) {
    points.add(Padding(
      padding: const EdgeInsets.only(right:2.0),
      child: Container(
          decoration: BoxDecoration(
            color: Colors.white,
            shape: BoxShape.circle,
          ),
          height: 8,
          width: 8,
        ),
    ));
  }
  return Row(
    mainAxisAlignment: MainAxisAlignment.center,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: points,
  );
}
Row\u pagesIndcator(int-length){
列表点=[];
对于(变量i=0;i
我试过这个:
高度:8-i/1,

但我不认为这是正确的做法

尝试一下,让我知道它是否有效,您可以根据需要使用这些值

Row _pagesIndicator(int length) {
  List<Widget> list = [];
  list = List.generate(length, (i) {
    return Container(
      width: (length - i) * 10.0 + (i + 1) * 5,
      height: (length - i) * 10.0 + (i + 1) * 5,
      margin: EdgeInsets.symmetric(horizontal: 2),
      decoration: BoxDecoration(shape: BoxShape.circle, color: Colors.black),
    );
  });

  return Row(
    mainAxisAlignment: MainAxisAlignment.center,
    crossAxisAlignment: CrossAxisAlignment.center,
    children: list,
  );
}
Row\u页面指示器(int-length){
列表=[];
list=list.generate(长度,(i){
返回容器(
宽度:(长度-i)*10.0+(i+1)*5,
高度:(长度-i)*10.0+(i+1)*5,
边缘:边缘组。对称(水平:2),
装饰:盒子装饰(形状:盒子形状。圆圈,颜色:颜色。黑色),
);
});
返回行(
mainAxisAlignment:mainAxisAlignment.center,
crossAxisAlignment:crossAxisAlignment.center,
儿童:名单,
);
}

不幸的是,当系数(10.0)改变(例如变为1.0)时,大小衰减方向会反转。我想我会选择方程
高度:8-I/1
,但考虑到负的情况,我刚刚使用了随机方程,你可以根据自己的需要进行计算,如果有进一步的问题,请告诉我。谢谢,我真的以为有一个小部件可以处理这种情况,比如
AspectRatio
从未使用过,你可以尝试一下,让我知道它是如何工作的。我更新了代码,它现在正在为更高的值工作,你介意现在接受答案吗?