项目背景:在学习比站猫哥的“2022 Flutter3 Getx Woocommerce App 从零开始实战课程 | 01 课程”时,按照课程指导逐步进行项目代码编写。视频地址:
https://www.bilibili.com/video/BV1xY411F7es/?spm_id_from=333.999.0.0&vd_source=7c7ae5cc1dbb2453e1eb43950a4264a3。
(1)问题表现:底部导航栏存在穿透问题
在编写主界面的底部导航栏是,发现存在底部导航栏穿透问题。就是在App上点击底部导航栏按钮边沿时,会触发其背景组件的点击响应。
(2)使用Android Studio 的 DevTools工具分析问题原因
经过使用Android Studio 的 DevTools工具,对底部导航栏进行布局透视分析,发现底部导航栏的各个组件存在明显的padding内边距。通过DevTools查到底部导航栏BottomAppBar默认内边距为:
padding: const EdgeInsets.fromLTRB(16.0,12.0,16.0,12.0), // Left Top Right Bottom
(3)解决问题
发现了问题根源,解决就很简单,将底部导航栏 BottomAppBar 组件的padding内边距设置为0即可。关键代码如下:
// 通过为 \lib\common\widgets\navigation.dart 组件的 BottomAppBar 指定 padding: EdgeInsets.zero
return BottomAppBar(
padding: EdgeInsets.zero, // 将BottomAppBar默认边距设为0,彻底解决底部导航栏穿透问题
标签:padding,BottomAppBar,穿透,底部,组件,彻底解决,导航,Flutter From: https://www.cnblogs.com/ybmj/p/18393494