v1.0.0colorful_safe_area
SafeArea 小部件的更可自定义替代方案。它允许您设置 SafeArea 的颜色,而不会影响其子项的颜色。
Flutter 默认 SafeArea 小部件的替代品
{"sdk":"flutter"}{"sdk":"flutter"}以下为英文项目原文快照,最新内容请访问 GitHub。
A more customizable replacement for the SafeArea widget. It lets you set the color of your SafeArea without affecting the color of its child.
Example of ColorfulSafeArea
Use it just like a regular SafeArea widget.
Scaffold(
body: ColorfulSafeArea(
child: SomeWidget(),
),
);
The color of ColorfulSafeArea widgets are transparent by default. To change their color, set the color property.
Scaffold(
body: ColorfulSafeArea(
color: Colors.red,
child: SomeWidget(),
),
);
You can use any color that has transparency
Scaffold(
body: ColorfulSafeArea(
color: Colors.red.withOpacity(0.7),
child: SomeWidget(),
),
);
If you are using a transparent color and want the child of the ColorfulSafeArea to appear behind it, you can set overflowRules to define how the ColorfulSafeArea's child should appear. The default value is OverflowRules.all(false). The OverflowRules class works much like EdgeInsets.
// allows the child to overflow behind all sides
overflowRules: OverflowRules.all(true)
// allows the child to overflow only on the left and bottom sides
overflowRules: OverflowRules.only(left: true, bottom: true)
// allows the child to overflow on the top and bottom
overflowRules: OverflowRules.symmetric(vertical: true)
If you want to apply a blur effect to the ColorfulSafeArea, you can apply a filter.
Scaffold(
body: ColorfulSafeArea(
overflowRules: OverflowRules.all(true),
filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
child: SomeWidget(),
),
);
When you set overflowRules and would like for the parts of the child that have overflowed to be interactable behind the ColorfulSafeArea, you can set overflowTappable to true.
Scaffold(
body: ColorfulSafeArea(
overflowRules: OverflowRules.all(true),
overflowTappable: true
child: SomeWidget(),
),
);