Flutter 如何根据颤振中的容器调整多行文本大小

Flutter 如何根据颤振中的容器调整多行文本大小,flutter,Flutter,如果customehight和customeWidth的值更改,则子值也应更改。同时,文本大小必须根据父容器的高度和宽度进行调整 字体大小必须增减 //父类 Padding( padding: EdgeInsets.only(left: 60.0, top: 60.0, right: 20.0, bottom: 20.0), child: Container( height: customeHeigh

如果customehight和customeWidth的值更改,则子值也应更改。同时,文本大小必须根据父容器的高度和宽度进行调整

字体大小必须增减

//父类

Padding(
          padding:
              EdgeInsets.only(left: 60.0, top: 60.0, right: 20.0, bottom: 20.0),
          child: Container(
              height: customeHeight,
              width: customeWidth,
              child: widget.child,
              decoration: BoxDecoration(
                border: Border.all(color: Colors.red, width: 4.0),
                borderRadius: BorderRadius.circular(2.0),
              )
              ),


    ),
==========================================================================

//儿童班 //这将作为子对象返回到其父对象

return LayoutBuilder(
                    builder: (BuildContext context, BoxConstraints constraints) {
                    print("container size $constraints");
                    print("no of character $noOfChar");
                    // double maxSize =
                    //     (constraints.maxWidth * constraints.maxHeight) / 3000;
                    // print("maxsize $maxSize");
                    return FittedBox(
                      fit: BoxFit.contain,
                      child: LimitedBox(
                        maxHeight: constraints.maxHeight + noOfChar,
                        maxWidth: constraints.maxWidth + noOfChar,
                        child: TextField(
                          keyboardType: TextInputType.multiline,
                          // maxLines: null,
                          onChanged: (str) {
                            setState(() {
                              noOfChar = str.length;
                            });
                          },
                          autofocus: true,
                          enabled: true,
                          // focusNode: myFocusNode,
                          textAlign: TextAlign.center,
                          style: TextStyle(
                              fontSize: 30.0,
                              color: const Color(0xFF000000),
                              fontWeight: FontWeight.bold,
                              fontStyle: FontStyle.italic,
                              fontFamily: widget.fontType),
                          decoration: new InputDecoration.collapsed(
                              hintText: widget.change),
                        ),
                      ),
                    );
                  })

使用没有固定高度的容器,并使用Maxline属性支持多行

 Widget MultilineText(){
    return new Container(
      alignment: Alignment.topLeft,
      margin: const EdgeInsets.fromLTRB(16.0, 8.0, 16.0, 8.0),
      child: addTextView("Something something",15.0),
      ),
    );
  }
 Widget addTextView(String data, double fontSize){
    return  new Text(
        data,
        maxLines: 1000,
        overflow: TextOverflow.ellipsis,
        style: new TextStyle(
            color: Colors.black87,
            fontSize: fontSize,
            fontFamily: 'HelveticaNeue',
            fontWeight: FontWeight.w400
        )
 }

这并不是在回答问题。他希望字体大小随可用空间的变化而动态变化。我给出了一个解决方案,他可以根据flutter中的容器调整多行文本大小。他可以改变字体,创建一个返回文本小部件的函数。仅供参考,我更新了我的答案。我想现在可以了。