我想在Flutter中为FloatingActionButton
设置一个大小,我想设置width
/height
,也就是说,让按钮变大,我一直在寻找一个圆形的按钮,但是我找到的唯一一个是这个,所以我开始使用它,但我需要它再大一点。
我想在Flutter中为FloatingActionButton
设置一个大小,我想设置width
/height
,也就是说,让按钮变大,我一直在寻找一个圆形的按钮,但是我找到的唯一一个是这个,所以我开始使用它,但我需要它再大一点。
小图 (40 x 40)
FloatingActionButton.small(
onPressed: onPressed,
child: Icon(Icons.edit),
)
常规(56 x 56)
FloatingActionButton(
onPressed: onPressed,
child: Icon(Icons.edit),
)
大尺寸 (96 x 96)
FloatingActionButton.large(
onPressed: onPressed,
child: Icon(Icons.edit),
)
扩展的
FloatingActionButton.extended(
onPressed: onPressed,
label: Text('Extended'),
icon: Icon(Icons.edit),
)
定制尺寸(A x B):
SizedBox(
width: 20,
height: 20,
child: FittedBox(
child: FloatingActionButton(
onPressed: onPressed,
child: Icon(Icons.edit),
),
),
)
使用Container
,在其中可以指定width
和height
,然后使用RawMaterialButton
,示例如下:
final myFabButton = Container(
width: 200.0,
height: 200.0,
child: new RawMaterialButton(
shape: new CircleBorder(),
elevation: 0.0,
child: Icon(
Icons.favorite,
color: Colors.blue,
),
onPressed: () {},
),
);
仅使用 SizedBox 似乎无法缩放 FAB 内部的子元素。您需要在两者之间使用 FittedBox。
floatingActionButton: SizedBox(
height: 100.0,
width: 100.0,
child: FittedBox(
child: FloatingActionButton(
child: Icon(Icons.add),
onPressed: () {},
),
),
),
感谢chemturion的评论。
请查看Raouf Rahiche的答案获取更多细节。
使用SizedBox
SizedBox(
width: 200.0,
height: 200.0,
child: FloatingActionButton(
onPressed: () {},
),
)
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked
的情况下工作,谢谢! - AleksandarTransform.scale()
小部件将你的按钮进行包裹: floatingActionButton: Transform.scale(
scale: 1.5,
child: FloatingActionButton(onPressed: () {}),
)
FittedBox
不仅可以缩放,还可以定位子元素。 - chemamolinsTransform.scale
是一种相对昂贵的方法。 - Kirill KarmazinRawMaterialButton(
elevation: 2.0,
shape: CircleBorder(),
fillColor: Colors.red,
onPressed: (){},
child: Icon(
Icons.add,
color: Colors.white,
size: 20.0,
),
constraints: BoxConstraints.tightFor(
width: 56.0,
height: 56.0,
),
)
通过这种方式,您可以添加任何类型的按钮。
floatingActionButton: Container(
height: 100.0,
width: 100.0,
child: FittedBox(
child: FloatingActionButton(
onPressed: _loadProgress,
child: Icon(Icons.ac_unit_outlined),
child: Text(
'Get Joke!',
textAlign: TextAlign.center,
style: TextStyle(fontWeight: FontWeight.w700, fontSize: 10.0),
),
),
),
),
FloatingActionButton有一个叫做mini的属性,可以设置为true。
floatingActionButton: FloatingActionButton(
mini: true,
onPressed: (){
},
child: Icon(Icons.play_arrow_outlined),
),