使用android:fitsSystemWindows="true"遇到的小坑

背景:

      在Android实现了沉浸式功能后,在有输入框的界面,当点击输入框弹起输入法时,输入法遮挡住了输入框,或者输入框在底部并没有随着输入法弹起而弹起。

解决方法:

在EditText的根布局添加

android:fitsSystemWindows="true"

代码即可解决。

注意:

      必须在EditText的根布局添加,如果不是根布局,在其它位置或节点添加,界面会多出一块布局  这块布局和顶部状态栏高度一样  颜色可能也一样。很狗血的。

### 回答1: android:fitssystemwindows="true"是一个布局属性,用于指示视图是否应该考虑系统窗口的边距。如果设置为true,则视图将考虑系统窗口的边距,以确保视图不会被系统窗口遮挡。这通常用于全屏应用程序,以确保应用程序的内容不会被系统UI元素遮挡。 ### 回答2: android:fitssystemwindows="true"是Android应用程序的XML属性之一,它用于控制视图是否应该考虑系统窗口偏移量。简单来说,当我们设置这个属性为true时,视图将被绘制在整个屏幕空间中,包括系统窗口所占用的空间。这使得视图可以更好地适配不同屏幕大小和Android版本的设备。 例如,在使用状态栏和导航栏的设备上,如果我们不设置这个属性为true,则视图只会占用屏幕上方的空间,而不会占用系统窗口所占用的空间。这可能导致布局异常或视觉效果不佳。因此,通过设置这个属性为true,我们可以使视图更加完美地适配到各种设备中。 另外,需要注意的是,当我们设置这个属性为true时,视图的padding值也会随之调整,以保证视图正常显示。因此,在使用这个属性时,我们需要仔细检查视图的布局和界面效果,以确保它们能够正常显示。同时,如果我们使用了自定义主题或样式,也需要适当地调整它们,以适应这个属性的变化。 在Android应用程序的开发中,android:fitssystemwindows="true"是非常常见的属性之一。它可以帮助我们更好地适配不同设备、提高用户体验。但是,在使用这个属性时,我们需要注意仔细检查布局和视觉效果,以确保它们能够正常显示和适应不同设备。 ### 回答3: 在Android中,当我们开发一个布局文件时,有时希望布局的内容能够紧密地跟随系统的UI元素,例如通知栏或导航栏。这时我们就可以使用"android:fitssystemwindows"属性来实现。 "android:fitssystemwindows"是一个布局属性,其作用是告诉系统,在布局中留出系统UI元素所需的空间。当我们设置这个属性为"true"时,系统会在布局的上部(通常是状态栏)和下部(导航栏)留下与系统UI元素相同的空间,防止布局被UI元素遮挡。 需要注意的是,如果我们的布局中含有滚动条,那么"android:fitssystemwindows"属性的作用就会略微有些不同。此时,我们在设置此属性时,还需要给滚动条添加一个额外的内边距(padding)。这样做可以确保滚动条与状态栏和导航栏之间有足够的距离,不会出现滚动条与UI元素重叠的情况。 总的来说,"android:fitssystemwindows"属性是一个非常实用的布局属性,在Android开发中可以帮助我们优化界面布局,实现更好的用户体验。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值