在 android 的 XML 中设置 fitsSystemWindows 属性的分析:

fitsSystemWindows 只作用在 sdk>=19 的系统上就是高于 4.4 的系统

android:fitsSystemWindows="true"

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

1. 当设置了透明状态栏(StatusBar)时:

当为此 activity 设置了:

<item name="android:windowTranslucentStatus">true</item>

或者

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}

同时,所有设置了 android:fitsSystemWindows=”true” 属性的 view 会自动添加一个值等于状态栏高度的 paddingTop

2. 当设置了透明导航栏(NavigationBar)时:

当为此 activity 设置了:

<item name="android:windowTranslucentNavigation">true</item>

或者

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
}

同时,所有设置了 android:fitsSystemWindows=”true” 属性的 view 会自动添加一个值等于导航栏高度的 paddingBottom

3. 附加一个获取 StatusBar 的和一个获取 NavigationBar 高度的代码:

public float getStatusBarHeight() { // 返回值就是状态栏的高度,得到的值是像素float result = 0;int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");if (resourceId > 0) {result = getResources().getDimension(resourceId);}return result;
}public float getNavigationBarHeight() { // 返回值就是导航栏的高度,得到的值是像素float result = 0;int resourceId = getResources().getIdentifier("navigation_bar_height", "dimen", "android");if (resourceId > 0) {result = getResources().getDimension(resourceId);}return result;
}

其他

1、有时候,当软键盘弹出时,会将我们的 view 顶上去,可以通过设置如下属性进行避免

android:windowSoftInputMode="adjustResize|stateHidden"

2、待补充。。。

------至所有正在努力奋斗的程序猿们!加油!!
有码走遍天下 无码寸步难行
1024 - 梦想,永不止步!
爱编程 不爱Bug
爱加班 不爱黑眼圈
固执 但不偏执
疯狂 但不疯癫
生活里的菜鸟
工作中的大神
身怀宝藏,一心憧憬星辰大海
追求极致,目标始于高山之巅
一群怀揣好奇,梦想改变世界的孩子
一群追日逐浪,正在改变世界的极客
你们用最美的语言,诠释着科技的力量
你们用极速的创新,引领着时代的变迁

——乐于分享,共同进步,欢迎补充
——Any comments greatly appreciated
——诚心欢迎各位交流讨论!QQ:1138517609
——CSDN:https://blog.csdn.net/u011489043
——简书:https://www.jianshu.com/u/4968682d58d1
——GitHub:https://github.com/selfconzrr

android 虚拟键盘遮挡布局 顶起布局相关推荐

  1. android华为手机虚拟键盘盖住底部,Android 虚拟键盘遮挡住页面问题我遇到的坑及个人解决办法...

    场景:某个页面多个组件.总体排版正好凑成满屏.一切按照UI给的标注效果图来.大部分机型测试通过.没有问题.华为手机有问题 兼容性:华为手机修改了虚拟键盘的位置.用户可以自由控制显示与隐藏虚拟键盘出现在 ...

  2. Android虚拟键盘遮挡EditText的解决方案

    在做项目的时候,遇到的问题,就是点击编辑框软键盘会把编辑框给遮挡住,于是网上查资料说只需要在注册文件里的当前Activity配置上: <activity android:windowSoftIn ...

  3. Android 软键盘弹出时把布局顶上去,控件乱套解决方法

    Android 软键盘弹出时把布局顶上去,控件乱套解决方法 参考文章: (1)Android 软键盘弹出时把布局顶上去,控件乱套解决方法 (2)https://www.cnblogs.com/zhuj ...

  4. Android实例-解决虚拟键盘遮挡问题(XE8+小米2)

    Android实例-解决虚拟键盘遮挡问题(XE8+小米2) 参考文章: (1)Android实例-解决虚拟键盘遮挡问题(XE8+小米2) (2)https://www.cnblogs.com/FKde ...

  5. android自定义键盘遮挡,Android软键盘遮挡的四种完美解决方案

    一.问题概述 在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图: 输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示: 输入密码时 ...

  6. android监控虚拟键盘,android虚拟键盘的监控,显示和隐藏

    android虚拟键盘的监控,显示和隐藏 听到一个键盘监控[显示.隐藏]的问题,上网找了下解决方案. 有提到使用onSizeChange方法监控的,也有监控onLayout方法的. 思路:在弹出键盘时 ...

  7. Android软键盘遮挡的四种解决方案

    Android软键盘遮挡的四种解决方案 参考文章: (1)Android软键盘遮挡的四种解决方案 (2)https://www.cnblogs.com/jerehedu/p/4194125.html ...

  8. android虚拟键盘挡住布局,让Android软键盘不遮挡布局

    在Android UI中,我们常常会使用EditText,比如在一个ScrollView中放置多个EditText,如下图: 带有edittext的scrollview.png 当用户点击这个Edit ...

  9. android虚拟键盘InputMethodManager使用

    InputMethodService为我们的输入法创建了一个Dialog,并且对某些参数进行了设置,使之能够在底部或者全屏显示. 在Activity中进行调整: AndroidManifet.xml中 ...

最新文章

  1. 洛谷1522牛的旅行
  2. UA MATH567 高维统计专题1 稀疏信号及其恢复1 L0-norm minimization
  3. Java获得随机数字
  4. 习惯的力量之三冰山一角
  5. 【转载】Callable、FutureTask中阻塞超时返回的坑点
  6. vc 代码检查工具_C++网络安全入侵检测技术模块及源程序代码
  7. 常用安卓开发技巧汇总
  8. IdentityServer4实战 - 与API单项目整合
  9. ETL异构数据源Datax_图形化数据同步_11
  10. 华为鸿蒙系统支持什么手机_华为鸿蒙系统支持的手机型号大全,鸿蒙系统2.0支持手机型号汇总[图]...
  11. 标准计算机教室方案,标准级多媒体网络教室方案
  12. nxdn标准简介_标准活动介绍
  13. 曾经的付费视频课持续放出,以及【直播预告】
  14. GAMES202 笔记 -Real-Time Ray-Tracing
  15. Unraid安装Transmission 超简单(2022/10/21)
  16. 基金买卖波段指标 主图 源码 效果图
  17. CSDN校园活动社开展“开学季活动”
  18. 在线查看word文档
  19. 向U盘拷贝文件,总是提示对于目标系统,文件过大??
  20. 工作邦智慧水务管网系统

热门文章

  1. DW分解的理解和使用过程
  2. 谋士社区DG:最简单的方法就是最好的方法
  3. Xilinx ZC706 ADV7511使用
  4. Allegro PCB覆铜的14个注意事项
  5. Allegro如何设置创建Pin Pair的快捷键操作指导
  6. 苹果8a1660是什么版本_剁手党可别买错 iPhone7版本网络大不同
  7. 【Java】还不懂this关键字?一分钟彻底弄懂this关键字
  8. vue接收跳转页面的参数
  9. 计算机与打印机不在同一网段里,不在同一网段的计算机如何共享打印机电脑问题 .doc...
  10. html页面预加载图片不出来,页面图片预加载与懒加载策略