android:fitsSystemWindows属性

fitsSystemWindows属性用于设置视图在Android窗口中的显示方式,尤其在状态栏和导航栏透明时。当该属性为true时,内容区域不会延伸到状态栏或导航栏;若为false,则内容会填充到这些区域。生效前提是页面无标题栏且状态栏或导航栏透明。通过设置<style>中的android:windowTranslucentStatus为true可实现透明状态栏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fitsSystemWindows

用于设置view在当前窗口的表现。一个app页面,包含:状态栏、标题栏、内容区、底部导航栏(比如有些手机的虚拟导航按键),如图:

 

整个界面可以看做是一个window,fitsSystemWindows 生效的前提是状态栏(StatusBar)或导航栏(NavigationBar)透明并且不能有标题栏,默认fitsSystemWindows = true,表示页面布局(内容区)不会扩展到状态栏,会针对透明的状态栏会自动添加一个值等于状态栏高度的paddingTop;针对透明的系统导航栏会自动添加一个值等于导航栏高度的paddingBottom,当fitsSystemWindows = false时,表示页面布局(内容区)扩展到状态栏,设置代码如下:

<style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <!--透明状态栏-->
        <item name="android:windowTranslucentStatus">true</item>
    </style>


为布局view设置:

android:fitsSystemWindows="false"
效果如下:

 

总结:

1. fitsSystemWindows 生效前提:当前页面没有标题栏,并且状态栏或者底部导航栏透明

2. fitsSystemWindows = true,表示内容区不延伸到状态栏或底部导航栏

3. fitsSystemWindows = false,表示内容区延伸到状态栏或底部导航栏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值