Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:RaisedButton展开和收缩,但也包括收缩和展开的文本_Flutter_Flutter Layout - Fatal编程技术网

Flutter 颤振:RaisedButton展开和收缩,但也包括收缩和展开的文本

Flutter 颤振:RaisedButton展开和收缩,但也包括收缩和展开的文本,flutter,flutter-layout,Flutter,Flutter Layout,亲爱的弗利特社区 我有一行,右边有一个升起的按钮,左边有一个升起的按钮。两个升起的按钮内部都有文本,文本的长度可以不同(只有一个单词,没有句子)。我总是希望RaisedButton尽可能小,以便文本正好适合RaisedButton。因此,RaisedButton的大小是灵活的。其次,我也不希望RaisedButton太宽(高度也是固定的),因为这很难看,可能会导致像素溢出。因此,这意味着一旦达到RaisedButton的大小限制,文本的fontSize就会缩小。(注意,我首先希望按钮展开,如果这

亲爱的弗利特社区

我有一行,右边有一个升起的按钮,左边有一个升起的按钮。两个升起的按钮内部都有文本,文本的长度可以不同(只有一个单词,没有句子)。我总是希望RaisedButton尽可能小,以便文本正好适合RaisedButton。因此,RaisedButton的大小是灵活的。其次,我也不希望RaisedButton太宽(高度也是固定的),因为这很难看,可能会导致像素溢出。因此,这意味着一旦达到RaisedButton的大小限制,文本的fontSize就会缩小。(注意,我首先希望按钮展开,如果这还不够,我希望文本缩小,而不是相反)。 您可以在下面找到一些代码:

                  Row(
                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
                    children: <Widget>[
                      RaisedButton(
                        onPressed: () …
                        color: App.focusColor,
                        shape: RoundedRectangleBorder(
                          borderRadius: new BorderRadius.circular(50.0),
                          side: BorderSide(color: App.primaryColor),
                        ),
                        child: ConstrainedBox(
                          constraints: BoxConstraints(
                            minWidth: MediaQuery.of(context).size.width * 0.1,
                            maxWidth: MediaQuery.of(context).size.width * 0.35,
                            maxHeight: 20,
                            minHeight: 20,
                          ),
                          child: FittedBox(
                            fit: BoxFit.fitWidth,
                            child: Text(
                                …),
                          ),
                        ),
                      ),
                      RaisedButton(
                        onPressed: () …
                        color: App.focusColor,
                        shape: RoundedRectangleBorder(
                          borderRadius: new BorderRadius.circular(50.0),
                          side: BorderSide(color: App.primaryColor),
                        ),
                        child: ConstrainedBox(
                                  constraints: BoxConstraints(
                                    minWidth:
                                        MediaQuery.of(context).size.width * 0.1,
                                    maxWidth:
                                        MediaQuery.of(context).size.width *
                                            0.35,
                                    maxHeight: 20,
                                    minHeight: 20,
                                  ),
                                  child: AutoSizeText(
                        …,
                                    maxFontSize: 20.0,
                                  ),
                                ),
                              ),
                            ),
                          ],
                        ),
行(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
升起的按钮(
按下:()…
颜色:App.focusColor,
形状:圆形矩形边框(
边界半径:新边界半径。圆形(50.0),
侧边:边框侧边(颜色:App.primaryColor),
),
子:约束框(
约束:BoxConstraints(
minWidth:MediaQuery.of(context).size.width*0.1,
maxWidth:MediaQuery.of(context).size.width*0.35,
最大高度:20,
身高:20,
),
孩子:FittedBox(
适合:BoxFit.fitWidth,
子:文本(
…),
),
),
),
升起的按钮(
按下:()…
颜色:App.focusColor,
形状:圆形矩形边框(
边界半径:新边界半径。圆形(50.0),
侧边:边框侧边(颜色:App.primaryColor),
),
子:约束框(
约束:BoxConstraints(
最小宽度:
MediaQuery.of(context).size.width*0.1,
最大宽度:
MediaQuery.of(context).size.width*
0.35,
最大高度:20,
身高:20,
),
子对象:AutoSizeText(
…,
maxFontSize:20.0,
),
),
),
),
],
),

此代码存在的问题是,两个RaisedButtons的fontSize不相等。如何确保fontSize相等,但RaisedButtons仍然可以变宽(如果textlength不相等,我希望RaisedButtons确实有不同的大小)

除此之外,如果我有多行有两个升起的按钮,我希望所有的FontSize总是相等的


非常感谢您的时间。

请检查以下答案。无需使用FittedBox

final text = 'It is a long title for button';

Row(
  mainAxisAlignment: MainAxisAlignment.spaceBetween,
  children: [
    RaisedButton(
      onPressed: () {},
      color: App.focusColor,
      shape: RoundedRectangleBorder(
        borderRadius: new BorderRadius.circular(50.0),
        side: BorderSide(color: App.primaryColor),
      ),
      child: ConstrainedBox(
        constraints: BoxConstraints(
          minWidth: MediaQuery.of(context).size.width * 0.1,
          maxWidth: MediaQuery.of(context).size.width * 0.35,
        ),
        child: Text(text.length > 10 ? '${text.substring(0, 10)}...' : text),
      ),
    ),
    RaisedButton(
      onPressed: () {},
      color: App.focusColor,
      shape: RoundedRectangleBorder(
        borderRadius: new BorderRadius.circular(50.0),
        side: BorderSide(color: App.primaryColor),
      ),
      child: ConstrainedBox(
        constraints: BoxConstraints(
          minWidth: MediaQuery.of(context).size.width * 0.1,
          maxWidth: MediaQuery.of(context).size.width * 0.35,
        ),
        child: Text("abcaaa"),
      ),
    ),
  ],
)

请检查下面的答案。无需使用FittedBox

final text = 'It is a long title for button';

Row(
  mainAxisAlignment: MainAxisAlignment.spaceBetween,
  children: [
    RaisedButton(
      onPressed: () {},
      color: App.focusColor,
      shape: RoundedRectangleBorder(
        borderRadius: new BorderRadius.circular(50.0),
        side: BorderSide(color: App.primaryColor),
      ),
      child: ConstrainedBox(
        constraints: BoxConstraints(
          minWidth: MediaQuery.of(context).size.width * 0.1,
          maxWidth: MediaQuery.of(context).size.width * 0.35,
        ),
        child: Text(text.length > 10 ? '${text.substring(0, 10)}...' : text),
      ),
    ),
    RaisedButton(
      onPressed: () {},
      color: App.focusColor,
      shape: RoundedRectangleBorder(
        borderRadius: new BorderRadius.circular(50.0),
        side: BorderSide(color: App.primaryColor),
      ),
      child: ConstrainedBox(
        constraints: BoxConstraints(
          minWidth: MediaQuery.of(context).size.width * 0.1,
          maxWidth: MediaQuery.of(context).size.width * 0.35,
        ),
        child: Text("abcaaa"),
      ),
    ),
  ],
)

您可以使用
FittedBox
根据
RaisedButton
的高度或宽度来管理文本。 因此,只需将文本包装在一个
FittedBox

BoxConstraints(
   /* max height and other attribute
   ... 
   */
   child: FittedBox(fit:BoxFit.fitWidth, child: Text('MUONEWOrdTEXT'),),
  ),

您可以使用
FittedBox
根据
RaisedButton
的高度或宽度来管理文本。 因此,只需将文本包装在一个
FittedBox

BoxConstraints(
   /* max height and other attribute
   ... 
   */
   child: FittedBox(fit:BoxFit.fitWidth, child: Text('MUONEWOrdTEXT'),),
  ),

请切记答案请切记答案但现在如果文本是“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa。这意味着我只能有一行文本。我更新了上面的代码,所以这意味着“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa。我希望文本缩小。另一个升起的按钮的文本也应该相应地缩小。好的,也有可能,你想显示多少个字母,但是现在如果文本是“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,你不需要它我应该提到我有一个maxHeight,比如:maxHeight:20。这意味着我只能有一行文本。我更新了上面的代码,所以这意味着“aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa。我希望文本缩小。A另一个升起的按钮的文本也应该相应地收缩。好的,也有可能,你想显示多少个字母