dart - 如何让 FAB 更宽

标签 dart flutter material-design flutter-sliver

我怎样才能使底部 FAB下图一样?

enter image description here

这是我当前的代码示例:

class _ItemDetailsState extends State<ItemDetails> {
  @override
  Widget build(BuildContext context) {
    double height = MediaQuery.of(context).size.height * 0.42;
    return Scaffold(
        body: Stack(children: <Widget>[
      CustomScrollView(
        slivers: <Widget>[
          ...
        ],
      ),
      Positioned(
          bottom: 0,
          child: FloatingActionButton(
              elevation: 4,
              onPressed: () {},
              child: Text("SAVE THE CHANGES"),
            ),
          ))
    ]));
  }
}

我尝试了很多但没有运气 :( 有什么解决办法吗?谢谢你的建议 :)

最佳答案

无法设置 FAB 的大小。相反,您必须使用 RawMaterialButton,复制 FAB 的默认属性并更改大小:

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Stack(
      alignment: Alignment.bottomCenter,
      children: <Widget>[
        CustomScrollView(
          slivers: <Widget>[
            ...
          ],
        ),
        RawMaterialButton(
          elevation: 6,
          highlightElevation: 12.0,
          constraints: BoxConstraints(
            minHeight: 48.0,
            minWidth: double.infinity,
            maxHeight: 48.0,
          ),
          fillColor: Theme.of(context).accentColor,
          textStyle: Theme.of(context).accentTextTheme.button.copyWith(
            color: Theme.of(context).accentIconTheme.color,
            letterSpacing: 1.2,
          ),
          child: Text("SAVE THE CHANGE"),
          onPressed: () {},
        )
      ],
    ),
  );
}

关于dart - 如何让 FAB 更宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56200059/

相关文章:

Flutter 横幅不适合

flutter - 在 flutter 中强制显示肖像

html - 如何在两个部分之间定位元素同时响应?

reflection - 如何检查方法镜像是否实现typedef

dart - 'String' 不是 'int' flutter 的子类型

flutter - 在拍打状态下显示警报

flutter - Flutter TextFormField mask

unit-testing - flutter :单元测试

android - 将太小的 ImageView 增加到 48dp 触摸目标大小?

android - 如何将 Floating Action Button 带出应用程序并使其作为可见、可移动和可点击的后台服务运行?