我正在构建一个 Flutter Web 应用程序,其中有一个按钮,其中包含一个图标和一行中的一些文本。我的问题是,每当用户将窗口大小调整为较小的大小时,按钮就会变得太小,从而使文本突出显示。我试图给它限制并在 style 参数上设置按钮的最小尺寸,但它没有帮助。
调整窗口大小前的按钮(默认大小):
按钮小部件的代码:
class UploadTextButton extends StatelessWidget {
final Function _onPressed;
const UploadTextButton(this._onPressed);
@override
Widget build(BuildContext context) {
return Container(
constraints: BoxConstraints(
maxWidth: 250,
maxHeight: 50,
minWidth: 200,
minHeight: 50
),
child: OutlinedButton(
style: ButtonStyle(
minimumSize: MaterialStateProperty.all(Size(200, 50))
),
onPressed: () => _onPressed(),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: Icon(Icons.cloud_upload),
),
Text("Upload my new picture")
],
)),
);
}
}
答案 0 :(得分:0)
如果测试大小有问题,您可以将 Fittedbox()
小部件用于文本。
FittedBox(
child:Text("Upload my new picture"),)
答案 1 :(得分:-2)
您可以在应用主题中定义按钮大小
例如:
buttonTheme: const ButtonThemeData(
buttonColor: assentColor,
padding: EdgeInsets.symmetric(vertical: 20),
minWidth: double.maxFinite,
colorScheme: ColorScheme.light(brightness:
Brightness.dark),
),