在颤动中自动缩放网格内的文本

基布杜德

我正在尝试在 flutter 中创建一个表格,其中文本自动缩放以适应单元格,但所有单元格将具有相同的文本大小,同时最大化字体大小。我试过 FittedBox,但它不会那样工作。任何想法如何继续?

class MyTable extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return Container(
      child: Column(
        children: [
          Expanded(
            child: Row(
              children: [
                Expanded(child: Center(child: Text("R1C1: Some text1"))),
                Expanded(child: Center(child: Text("R1C2: Some text2"))),
                Expanded(child: Center(child: Text("R1C3: Some text3"))),
              ],
            ),
          ),
          Expanded(
            child: Row(
              children: [
                Expanded(child: Center(child: Text("R2C1: Some text4"))),
                Expanded(child: Center(child: Text("R2C2: Some text5"))),
                Expanded(child: Center(child: Text("R2C3: Some text6"))),
              ],
            ),
          ),
          Expanded(
            child: Row(
              children: [
                Expanded(child: Center(child: Text("R3C1: Some text7"))),
                Expanded(child: Center(child: Text("R3C2: Some text8"))),
                Expanded(child: Center(child: Text("R3C3: Some text9"))),
              ],
            ),
          ),
        ],
      ),
    );
  }
}

基布杜德

我能够使用auto_size_text解决这个问题我使用 group 来同步所有单元格的大小。

class MyTable extends StatelessWidget {
  final AutoSizeGroup myGroup = AutoSizeGroup();

  @override
  Widget build(BuildContext context) {
    return Container(
      child: Column(
        children: [
          Expanded(
            child: Row(
              children: [
                Expanded(
                  child: Center(
                    child: AutoSizeText(
                      "R1C1: Some text1",
                      style: TextStyle(fontSize: 50),
                      group: myGroup,
                    ),
                  ),
                ),
                Expanded(
                  child: Center(
                    child: AutoSizeText(
                      "R1C2: Some text2",
                      style: TextStyle(fontSize: 50),
                      group: myGroup,
                    ),
                  ),
                ),
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章