首页 > 其他分享 >彻底解决Flutter项目底部导航栏穿透问题

彻底解决Flutter项目底部导航栏穿透问题

时间:2024-09-02 20:49:55浏览次数:10  
标签:padding BottomAppBar 穿透 底部 组件 彻底解决 导航 Flutter

项目背景:在学习比站猫哥的“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

相关文章

  • 内网穿透:frp
    由于需要做微信公众号开发,就用frp做了一个内网穿透。1.环境说明(1).一台云服务器,公网IP为:X.X.X.X(以阿里云为例,frp的服务端)(2).一个备案域名(可以是二级域名),并解析指向到上面的IP。以test1.cn为例。(3).一台客户机(frp客户端,可以上网) (4).frp软件,以当前最新版本0.60.0为例。(......
  • NSmartProxy:一款.NET开源、跨平台的内网穿透工具
    思维导航前言内网穿透工具介绍特点与优势运行原理项目源代码服务端运行效果项目源码地址优秀项目和框架精选前言今天大姚给大家分享一款.NET开源、免费(MITLicense)、跨平台的内网穿透工具,采用.NETCore的全异步模式打造:NSmartProxy。内网穿透工具介绍内网穿透......
  • Flutter的一些概念(二)
    注:本文同步发布于微信公众号:stringwu的互联网杂谈Flutter的一些概念(二)1flutter的核心渲染模块当应用启动时flutter会遍历所有的Widget形成Widget树,并通过createElement方法创建每个element对象,最后通过createRenderObject方法创建renderobject对象1.1WidgetWidge......
  • 《真三国无双7帝国》启动故障排除手册:彻底解决steam_api.dll丢失及其他常见问题
    《真三国无双7帝国》是一款备受欢迎的动作游戏,但一些玩家在尝试启动游戏时可能会遇到“steam_api.dll丢失”的错误提示。这个问题往往让人感到困扰,因为缺少这个动态链接库(DLL)文件会导致游戏无法正常启动。本文将深入探讨这一问题的原因,并提供有效的解决方法。steam_api.dll丢......
  • NSmartProxy:一款.NET开源、跨平台的内网穿透工具
    前言今天大姚给大家分享一款.NET开源、免费(MITLicense)、跨平台的内网穿透工具,采用.NETCore的全异步模式打造:NSmartProxy。内网穿透工具介绍内网穿透工具是一种能够允许用户从互联网上的任何地方安全地访问并管理处于内网(如家庭网络、公司局域网等)中的设备的工具。特点与优势......
  • flutter widget super(key: key)的作用
    在浏览flutter的代码的时候,会发现widget类总是有一个可选的key参数。那么为什么需要有这个参数呢?带着疑惑去研究了下,总算找到了答案。key参数简单的理解,就是widget的id,用来标识某个widget。在我们根据自己的需求,需要去定位某个widget的时候,就可以使用自定义的key。创建ObjectKey......
  • 项目中Redis常见的一些问题(缓存穿透,缓存雪崩,内存耗尽等)
    缓存穿透缓存穿透是指查询一个不存在的数据,导致每次请求查询这个不存在的数据都会转发到数据库,可能导致数据库崩溃通常都会用布隆过滤器来解决它布隆过滤器布隆过滤器主要是用于检索一个元素是否在一个集合中。它的底层主要是先去初始化一个比较大数组,里面存放的二进......
  • 记录一下别人的frp内网穿透服务使用
    内网穿透服务使用frp是一种开源的内网穿透服务github地址:https://github.com/fatedier/frp下载地址:https://github.com/fatedier/frp/releases参考文章:https://blog.csdn.net/ybsgsg/article/details/125932063参考文章2:https://blog.csdn.net/qq_38407462/article/details/1......
  • 在flutter中用flutter_datetime_picker只选择年月,或只选择年,以及选择日期
    flutter_datetime_picker组件没有配置只选择年或者月的,只能选择日期或者时间,现重新修改组件支持此功能效果如下:只选择年月只选择年 日期就不用展示了,组件自己就有导入包flutter_datetime_picker:1.5.1 修改组件的文件 修改后的flutter_datetime_picker.dart代码li......
  • flutter使用flutter_datetime_picker时导入冲突 'DatePickerTheme' is imported from
    安装flutter_datetime_picker后运行项目出现下面的报错 在ChipsInput小部件中,您使用了两个相互冲突的导入。在调用this.theme=theme??DatePickerTheme()时会发生冲突,因为它不知道使用哪个导入,因为它们具有相同的名称。您需要删除import'package:flutter/src/material/date......