在flutter中修改FloatingActionButton的形状为方形
时间: 2024-11-15 22:22:28 浏览: 2
Flutter 通过Clipper实现各种自定义形状的示例代码
在 Flutter 中,`FloatingActionButton` 默认是圆形的设计,如果你想将其改为方形,你可以通过自定义其 `Widget` 来实现,通常会使用 `ClipRRect` 或者直接创建一个新的 `InkWell` 并设置相应的尺寸。以下是两种方法的例子:
**方法一:使用 ClipRRect**
```dart
import 'package:flutter/material.dart';
// ...
FloatingActionButton(
onPressed: () {},
child: FloatingActionButton(
backgroundColor: Colors.red, // 设定背景颜色
child: Padding(
padding: EdgeInsets.all(8.0), // 根据需要调整内边距
child: ClipRRect(
borderRadius: BorderRadius.circular(0), // 设置圆角为零,使其变为方形
child: Icon(Icons.add),
),
),
),
)
```
**方法二:自定义 InkWell**
```dart
import 'package:flutter/material.dart';
// ...
class SquareButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
return InkWell(
onTap: () {},
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.zero, // 圆角为零,形成方形
),
child: Container(
color: Colors.red, // 背景颜色
child: Icon(Icons.add),
),
);
}
}
FloatingActionButton(
onPressed: () {},
child: SquareButton(),
)
```
在这两个例子中,`borderRadius` 或 `shape` 都被设为矩形(`zero` 或 `RectangleShape.rectangle`),使得 `FloatingActionButton` 显示为方形。
阅读全文