如何在不影响布局的情况下增加容器的大小?

How do I increase the size of a Container without affecting the layout?

我有这个自定义键盘:

当按下某个键时,我希望它在不影响周围其他键位置的情况下增大尺寸。

键盘结构如下:

keyboard_key.dart:

return GestureDetector(
  onTapDown: _handleOnTapDown,
  onTapUp: _handleOnTapUp,
  onTapCancel: _handleOnTapCancel,
  child: Container(
    height: keyHeight,
    width: keyWidth,
    margin: EdgeInsets.all(keySpacing),
    decoration: _boxDecoration(),
    child: Center(
      child: Text(
        letter,
        style: _textStyle(),
      ),
    ),
  ),
);

keyboard_row.dart:

return Container(
  child: Row(
    mainAxisAlignment: MainAxisAlignment.center,
    children: rowLetters.split('').map<Widget>((String ch) {
      return KeyboardKey(ch);
    }).toList(),
  ),
);

keyboard.dart:

return Container(
  padding: EdgeInsets.only(
    left: 1.0,
    right: 1.0,
    top: 8.0,
  ),
  child: Column(
    children: _rows.map<Widget>((row) => KeyboardRow(row)).toList(),
  ),
);

您可以使用 Transform.scale Widget 构造函数缩放 child Widget:

// keyboard_key.dart
return GestureDetector(
  onTapDown: _handleOnTapDown,
  onTapUp: _handleOnTapUp,
  onTapCancel: _handleOnTapCancel,
  child: Transform.scale(
     scale: 1.5,
     child:
        Container(
          height: keyHeight,
          width: keyWidth,
          margin: EdgeInsets.all(keySpacing),
          decoration: _boxDecoration(),
          child: Center(
            child: Text(
              letter,
              style: _textStyle(),
       ),
     ),
   ),
);