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,表示内容区延伸到状态栏或底部导航栏

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐