页面有输入框时都要考虑会不会被键盘挡住,于是fitsSystemWindows属性就派上了用场

属性说明

fitsSystemWindows属性可以让view根据系统窗口来调整自己的布局;简单点说就是我们在设置应用布局时是否考虑系统窗口布局,这里系统窗口包括系统状态栏、导航栏、输入法等,包括一些手机系统带有的底部虚拟按键。

android:fitsSystemWindows=”true” (触发View的padding属性来给系统窗口留出空间)

这个属性可以给任何view设置,只要设置了这个属性此view的其他所有padding属性失效,同时该属性的生效条件是只有在设置了透明状态栏(StatusBar)或者导航栏(NavigationBar)此属性才会生效。

注意⚠️: fitsSystemWindows只作用在Android4.4及以上的系统,因为4.4以下的系统StatusBar没有透明状态。

应用场景

在不同Android版本下,App状态栏和不同版本中系统本身的状态栏的适配;

兼容带有底部虚拟按键的手机系统。

遇到的坑

当一个页面里面不止一个输入框时,例如BaseActivity里面很多地方需要适应键盘弹出,那么只有最上面设置android:fitsSystemWindows=”true”的会生效,下面的就不生效了,为了解决这个问题需要在代码中动态控制一下

//位于上面的view

viewTop.setFitsSystemWindows(false);

//位于下面的组件

viewBottom.setFitsSystemWindows(true);

android system window,Android之属性fitsSystemWindows相关推荐

  1. android system window,Android控件的fitSystemWindows属性

    官方描述: 根据系统窗体里的元素比如状态栏来调整View的布局.如果被设为true,控件的padding将会被调整为顶部留出一个statusBar的空间.类似于伪代码paddingTop=" ...

  2. android system w,Android system.err

    场景:Android错误总结-W/System.err(661): java.lang.IllegalStateException: End of document Android异常总结---W/S ...

  3. android decorview动画,Android窗口机制(二)Window,PhoneWindow,DecorView,setContentView源码理解...

    Android窗口机制系列 前篇文章中出现了PhoneWindow,DecorView这些类,如果是第一次见过的话,肯定会觉得陌生.这篇文章主要跟大家讲解Window,PhoneWindow,Deco ...

  4. Android之window机制token验证

    文章已授权『郭霖』公众号发布 前言 很高兴遇见你~ 欢迎阅读我的文章 这篇文章讲解关于window token的问题,同时也是Context机制和Window机制这两篇文章的一个补充.如果你对Andr ...

  5. Android system server之PackageManagerService详细分析

    概要 本篇主要分析了系统启动阶段包管理服务的启动流程,其中的几个接口在 apk 安装时也会被调用.包管理服务启动时主要做的工作大致有如下几方面: 1. 建立 java 层的 installer 与 c ...

  6. android 如何使用android:supportsRtl属性

    今天,简单讲讲android里如何使用 AndroidManifest文件里的android:supportsRtl属性.  之前,在app上发现一个问题,就是app设置为阿拉伯语时,手机默认德我 ...

  7. Android的Window类详解

    Android的Window类(一) Android的GUI层并不复杂.它的复杂度类似于WGUI这类基于布局和对话框的GUI,与MFC.Qt等大型框架没有可比性,甚至飞漫魏永明的MiniGUI都比它复 ...

  8. android设置window背景颜色,android – 设置标题背景颜色

    这个 thread将让你开始在xml文件中建立自己的标题栏,并在你的活动中使用它 编辑 这里是上面链接的内容的简要摘要 – 这只是设置文本的颜色和标题栏的背景 – 没有调整大小,没有按钮,只是最简单的 ...

  9. [转]Android 之 Window、WindowManager 与窗口管理

    这篇是对前两天研究的悬浮窗的内容的一个小小的资料整理吧.首先是转载一篇介绍Android窗口的内容,觉得写得不错:http://blog.csdn.net/xieqibao/article/detai ...

最新文章

  1. 程序员也需要工匠精神
  2. Java数据结构和算法(六)——前缀、中缀、后缀表达式
  3. 活动 | 壁咚小咖,霸道表白!分享我和PMcaff一起成长的故事
  4. 如何在Windows 10中创建电源选项快捷图标,快速设置笔记本电脑的节能模式
  5. 实现物联网项目,你需要提前知道的6件事情
  6. python高阶函数闭包装饰器_5.初识python装饰器 高阶函数+闭包+函数嵌套=装饰器...
  7. java解析xml中文字符乱码_各种Java中文乱码的处理方法
  8. 如何提高阅读源代码的效率 .
  9. 蔚来用户累计行驶里程超30亿
  10. python 计算流形上两点之间的测地距离
  11. Android热修复核心原理介绍
  12. IDEA 配置maven本地仓库,超详细教程
  13. Java lambda表达式实现List转Map
  14. 硬盘安装manjaro linux,安装Manjaro Linux的详细步骤
  15. 盖亚绘制的星图里,藏着银河系不为人知的混乱过去
  16. Pymoo:使用多目标优化搜索解集的实现方法
  17. latex 中手写l的输入方法
  18. dubbo-monitor装配、 监控中心 配置过程
  19. HBase初识之学生心得总结
  20. 大宗物资采购和运销-煤炭/钢铁/物流数据资源

热门文章

  1. C# dataGridView控件实用属性及事件总结
  2. C++容器的insert()函数有以下三种用法: 最终*it=val;
  3. php多个文件上传代码,PHP单文件上传类或多文件上传类源码
  4. android log.d 格式化,android – 在我的代码中使用Log.d()或Log.e()
  5. 删除含有关键词的文件_AweEraser——macOS Catalina最佳的文件粉碎机
  6. 字符用_连接的是什么加密_防水连接器外壳与铜针表面涂层有什么用?
  7. 如何巧妙拒绝老同学借钱?哈哈哈哈哈......
  8. 惊现试衣间照片流出??
  9. 钱少也就算了,为啥我们还越来越忙?
  10. 你这飞机会爆炸吗?航空公司含泪甩卖49元机票,却被超模君挖出秘密!