我正在尝试构建一个用于FloatingActionButton
的自定义实现,以替换Scaffold.floatingActionButton
属性上的标准小部件。
问题在于,无论我尝试在该字段内渲染,都有一个16右下边距,而我找到的唯一解决方法是在flutter库中的Scaffold类中将该边距设置为零。
有没有人找到更好的解决方案?
答案 0 :(得分:2)
尝试向Scaffold中的bottomSheet属性添加填充
PATH
答案 1 :(得分:0)
您将在构建器的Material App Global Padding中提供以下代码。
选中此https://github.com/flutter/flutter/issues/14222#issuecomment-384165992
还要提供代码
double getSmartBannerHeight(MediaQueryData mediaQuery) {
// https://developers.google.com/admob/android/banner#smart_banners
if (Platform.isAndroid) {
if (mediaQuery.size.height > 720) return 90.0;
if (mediaQuery.size.height > 400) return 50.0;
return 32.0;
}
// https://developers.google.com/admob/ios/banner#smart_banners
// Smart Banners on iPhones have a height of 50 points in portrait and 32 points in landscape.
// On iPads, height is 90 points in both portrait and landscape.
if (Platform.isIOS) {
// TODO use https://pub.dartlang.org/packages/device_info to detect iPhone/iPad?
// if (iPad) return 90.0;
if (mediaQuery.orientation == Orientation.portrait) return 50.0;
return 32.0;
}
// No idea, just return a common value.
return 50.0;
}
@override
Widget build(BuildContext context) {
return new MaterialApp(
// ...
builder: (BuildContext context, Widget widget) {
final mediaQuery = MediaQuery.of(context);
return new Padding(
child: widget,
padding: new EdgeInsets.only(bottom: getSmartBannerHeight(mediaQuery)),
);
},
);
}
谢谢。