Android配置NoActionBar 如何移除Bottom Navigation里Fragment顶部空白工具栏
顶部多余空白条的解决方法
这个空白条和你配置的NoActionBar主题无关,本质是官方Bottom Navigation Activity模板自动在MainActivity根布局里嵌了带空Toolbar的AppBarLayout容器——你之前预览布局时只看了各个Fragment自己的布局文件,没注意到主布局里写了这段控件,所以才会出现预览看不到Toolbar、运行却多出一条白横条的情况。
具体操作步骤
- 打开
res/layout/activity_main.xml,找到模板自动生成的AppBarLayout节点(内部裹着id为toolbar的空Toolbar),这部分就是空白条的来源,整段删掉就行 - 改Fragment容器的布局约束:默认模板里Fragment容器的顶部是靠在AppBarLayout下边缘的,删掉AppBar后要把这个约束改成直接贴齐父布局顶部,不然会在原AppBar的位置留一块悬空的空白
- 删MainActivity里的冗余代码:模板默认会在
onCreate里写setSupportActionBar(findViewById(R.id.toolbar))来关联Toolbar,控件都删了这段代码一定要同步删掉,不然运行会直接抛空指针崩掉
容易踩的坑
- 删完控件如果发现页面内容顶到状态栏,再单独给对应布局做状态栏高度适配就行,别上来就随便开
fitsSystemWindows属性 - 你当前的主题配置是没问题的,
Theme.MaterialComponents.DayNight.NoActionBar本身已经关闭了系统默认ActionBar,不用再改主题代码
内容的提问来源于stack exchange,提问作者rm -rf
相关产品推荐
相关产品推荐

