如何在不影响布局的情况下增加容器的大小?
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(),
),
),
),
);
我有这个自定义键盘:
当按下某个键时,我希望它在不影响周围其他键位置的情况下增大尺寸。
键盘结构如下:
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(),
),
),
),
);