TextButton 减小 child 的大小?

TextButton reduces size of child?

我实现了一个水平填充为 16px 的列,child 容器是 children 之一。但是,我希望整个容器是 click-able 所以用 TextButton 包裹它,结果它的宽度有所缩小,我该怎么做才能将它恢复到原来的状态,同时将整个容器保持为一个按钮?

这是相关小部件的代码:

Padding(
            padding: const EdgeInsets.symmetric(horizontal: 16.0),
            child: Column(
              children: [
                Row(
                  children: [
                    Text("Add an item",
                        style: TextStyle(
                            color: Colors.black,
                            fontSize: 34,
                            fontWeight: FontWeight.w700,
                            letterSpacing: -1.5)),
                    Expanded(child: SizedBox(width: 1))
                  ],
                ),
                SizedBox(height: 16),
                TextButton(
                  child: Container(
                    width: double.infinity,
                    height: 460,
                    decoration: BoxDecoration(color: Colors.white),
                    child: Column(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: [
                        Icon(
                          Icons.image_rounded,
                          color: Colors.grey.shade200,
                        ),
                      ],
                    ),
                  ),
                  onPressed: () {},
                )
              ],
            ),
          )

将 TextButton 替换为 GestureDetector,例如:

 Padding(
            padding: const EdgeInsets.symmetric(horizontal: 16.0),
            child: Column(
              children: [
                Row(
                  children: [
                    Text("Add an item",
                        style: TextStyle(
                            color: Colors.black,
                            fontSize: 34,
                            fontWeight: FontWeight.w700,
                            letterSpacing: -1.5)),
                    Expanded(child: SizedBox(width: 1))
                  ],
                ),
                SizedBox(height: 16),
                GestureDetector(
                  child: Container(
                    width: double.infinity,
                    height: 460,
                    decoration: BoxDecoration(color: Colors.white),
                    child: Column(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: [
                        Icon(
                          Icons.image_rounded,
                          color: Colors.grey.shade200,
                        ),
                      ],
                    ),
                  ),
                  onTap:(){}
                )
              ],
            ),
          )

它看起来像: