fitsSystemWindows的作用

布尔型内部属性,根据系统窗口(如状态栏)调整视图布局。如果为true,则调整此视图的填充,使系统窗口留出空间可以显示状态栏及导航栏。仅当此视图处于非嵌入式活动时才生效,即使在Acitivity的根布局才有效,在Fragment中的根布局设置是无效的。

<!-- Boolean internal attribute to adjust view layout based on system windows such as the status bar.If true, adjusts the padding of this view to leave space for the system windows.Will only take effect if this view is in a non-embedded activity. -->
<attr name="fitsSystemWindows" format="boolean" />

示例Activity布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"       
    android:fitsSystemWindows="true"
    android:orientation="vertical">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="240dp"
        android:scaleType="centerCrop"
        android:src="@drawable/lufei"/>
	...
</LinearLayout>

android:fitsSystemWindows="false"

android:fitsSystemWindows="true"

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: android:fitsSystemWindows是一个布局属性,用于指定布局是否需要考虑系统窗口的影响。当设置为true时,布局会被调整以适应系统窗口的边界,例如状态栏和导航栏。这个属性通常用于全屏模式下的布局,以确保布局不会被系统窗口遮挡。 ### 回答2: android:fitsSystemWindows是一个可以用来配置View的属性。它的作用是告诉View是否要改变自己的尺寸来适应系统窗口的大小变化。系统窗口可以是状态栏、导航栏等。当设置android:fitsSystemWindows为true时,View会自动调整自己的尺寸,使其内容不被系统窗口遮挡。当设置为false时,View会忽略系统窗口的大小变化,保持原有的尺寸。 使用android:fitsSystemWindows属性可以在设计界面时考虑到系统窗口的变化,确保内容能够完整的展示在屏幕上。一般情况下,顶部的状态栏与底部的导航栏会占据一部分屏幕空间,如果不适配这些系统窗口,可能会导致View的内容被遮挡或者布局不合理。 需要注意的是,android:fitsSystemWindows属性只会影响到直接包含该属性的View,而不会影响其子View。如果需要对所有子View都进行适配,可以在父View中设置android:fitsSystemWindows属性为true。 总结来说,android:fitsSystemWindows属性的主要作用是用来适应系统窗口的大小变化,确保View的内容能够完整显示在屏幕上。在设计界面时,可以根据实际需求灵活配置该属性,以获得更好的用户体验。 ### 回答3: android:fitsSystemWindows是一个针对Android应用程序窗口的布局属性,用于指定窗口内容是否需要适应系统窗口区域。 在Android系统中,系统窗口区域指的是屏幕上的状态栏(StatusBar)和导航栏(NavigationBar)等系统UI元素所占据的区域。默认情况下,应用程序的内容会延伸到系统窗口区域内部,但有些时候我们可能希望应用程序的布局能够适应系统窗口区域的变化。 通过在layout文件中使用android:fitsSystemWindows属性,可以控制应用窗口的布局是否考虑系统窗口区域。当android:fitsSystemWindows属性被设置为true时,表示应用程序的内容会被适应系统窗口区域,即内容将不会延伸至系统窗口区域内部。而当android:fitsSystemWindows属性被设置为false时,表示应用程序的内容不会适应系统窗口区域,即内容会延伸至系统窗口区域内部。 通过使用android:fitsSystemWindows属性,我们可以灵活地控制应用程序窗口的布局。例如,当我们希望应用程序的内容不被状态栏遮挡时,可以将android:fitsSystemWindows属性设置为true,使得内容适应状态栏所占据的区域,从而避免内容被状态栏遮挡。 需要注意的是,android:fitsSystemWindows属性只有在应用程序的主题中设置了android:windowTranslucentStatus或android:windowTranslucentNavigation属性时才会生效。这两个属性用于设置状态栏或导航栏的背景是否透明,如果没有设置这两个属性,即使设置了android:fitsSystemWindows为true,应用程序的内容仍然会延伸至系统窗口区域内部。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值