如图,我用的是魅族Mx2,假设我要取得系统标题栏,或者我要根据得用户安装的输入法的高度改变想要的显示效果,又或者我要取得魅族flyme系统smartbar的高度,很多人都不知道怎么获取,今天我给大家分享下一个简单的方法取得它们的高度

关于怎么取得正确取得高度(避免取得的值为0)的方法在我另一篇blog里有,这里也有

http://blog.csdn.net/hjhrq1991/article/details/38950819

好,下面我说下代码,代码很少,在oncreated方法里取得,系统会调用一个listener来监听view的绘制,在view绘制完的时候,系统会回调回来通知view绘制,然后这时我们才去取得view的高度。

                // 我的布局内容,最外层的layoutmyLayout = (RelativeLayout) findViewById(R.id.rootview);ViewTreeObserver vto = myLayout.getViewTreeObserver();vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {Rect r = new Rect();// 取得这个布局动态的显示区域myLayout.getWindowVisibleDisplayFrame(r);// 取得这个布局所在根布局的高度,补充些知识点,我们所有的布局都是放在一层根布局里(好像是framelayout),// 我们平常的输入法之类的是放在这个根布局里的,所以我们的思路是取得根布局的高度,再减去动态变化的这个RelativeLayout的高度,// 得到的就是我们输入法的布局。拓展出去,获取状态栏的高度同理int screenHeight = myLayout.getRootView().getHeight();int heightDifference = screenHeight - (r.bottom - r.top);System.out.println(screenHeight + "-----------"+ heightDifference + "-----------");}});

Android-取得输入法或者系统标题栏、魅族下部smartbar等的高度相关推荐

  1. [Android] 代码获取手机系统类型(小米MIUI、华为EMUI、魅族FLYME)

    我们都知道,现在Android系统手机各式各样,包括三星.华为.小米.魅族等等,它们的系统都不是原生的Android系统,都是经过手机厂商修改过的,并且通过刷机可以在不同手机刷各式各样的系统,在一些应 ...

  2. 小米 android项目代码,[Android] 代码获取手机系统类型(小米MIUI、华为EMUI、魅族FLYME)...

    我们都知道,现在Android系统手机各式各样,包括三星.华为.小米.魅族等等,它们的系统都不是原生的Android系统,都是经过手机厂商修改过的,并且通过刷机可以在不同手机刷各式各样的系统,在一些应 ...

  3. 关于Android外设键盘导致系统输入法隐藏的解决方案

     关于Android外设键盘导致系统输入法隐藏的解决方案 Android系统发展到今天,如果你还认为它只是应用于手机的话,那你就out了.现在很多企业在通过Android系统来定制他们的相应的设备 ...

  4. Android输入法方法,Android的输入法系统框架原理

    [TOC] 概述 image.png 我们从以下几个点看这张图: 两个过程: 按键消息,由客户端进程接收,如果客户端进程判断当前有输入法窗口,则需要跨进程转交给InputMethod进程 触屏消息(触 ...

  5. android 7原生动态壁纸,手机里都是定制OS?谷歌Android 7.0原生系统壁纸邀你来尝鲜!...

    原标题:手机里都是定制OS?谷歌Android 7.0原生系统壁纸邀你来尝鲜! 安卓系统的碎片化一直是被人们所诟病,苹果手机IOS系统升级的速度和占比一直都非常高,而安卓手机却相比都非常差,三星,华为 ...

  6. Android 6.0-13.0系统兼容

    一.Android 6.0系统  官方文档:Android 6.0 1.新增运行时权限. 权限分为普通权限和危险权限,危险权限除了在清单文件即AndroidManifest.xml文件中注册,还需要在 ...

  7. android顶部状态栏动态隐藏和恢复,3种Android隐藏顶部状态栏及标题栏的方法

    本文包含3种隐藏顶部状态栏及标题栏和一种隐藏Android 4.0平板底部状态栏的方法,分享给大家供大家参考,具体内容如下 public class MainActivity extends Acti ...

  8. android 自定义输入法布局,Android自定义输入法使用方法

    Android自定义输入法使用方法 时间:2017-04-21     来源:Android开发学习网 对于Android用户而言,一般都会使用第三方的输入法.可是在输入密码时(尤其是支付相关的密码) ...

  9. android+平板+输入法,搜狗推首款Android3.0平板电脑输入法

    搜狗推首款Android3.0平板电脑输入法 2011年04月12日 12:19作者:厂商投稿编辑:孙莹莹文章出处:泡泡网原创 分享 搜狗率先推出首款完美支持Android 3.0平板专用版中文输入法 ...

最新文章

  1. 与虫子尾交3d动画网站_PPT中最酷的效果 —— 3D模型全解
  2. java基础之 “==”和“ equals”以及instanceof的区别
  3. 震惊!我发现了一个CSDN的文章编辑BUG,即使保存草稿也让我一天的努力白费!
  4. Oralce中备份,还原数据库
  5. The 4+1 view model
  6. mysql 5.7 redo replacation_mysql replace
  7. php 标签页切换,vue.js实现标签页切换效果
  8. Bailian4111 判断游戏胜者-Who Is the Winner【文本处理】
  9. IOS 线程的总结(及cell的图片下载)
  10. HyperLedger Composer 如何安装、小白入门教程
  11. 用python文本挖掘分析_文本挖掘和文本分析的九大应用场景
  12. 找出回文字符串用c语言写,寻找回文字符串
  13. html制作页面书签的步骤,网页制作基础教程(二)html标签
  14. KM3模拟键盘鼠标模块使用说明---2.键盘功能
  15. WxPython 界面利用pubsub与线程通讯
  16. 软件测试 前置条件是什么意思,测试用例的前置条件
  17. HDU-1849-Rabbit and Grass
  18. 2022 团体程序设计天梯赛 模拟赛 L2-1 盲盒包装流水线 (25 分)
  19. 三生诀游戏服务器维护,轮回三生诀变态-轮回三生诀游戏满V变态版 v1.0预约_手机乐园...
  20. 模电学习笔记_双极型晶体管及其放大电路(2)

热门文章

  1. 智慧实验室安全管理系统都可以管什么?
  2. qmap的书写格式linux,QMap 键值存储
  3. Android获取屏幕宽度与长度的五个方法
  4. 上市公司发行股票的基本要求是怎样的
  5. Linux安装和SSH连接工具使用SOP
  6. 强大的XCOPY命令
  7. Jenkins 分布式部署
  8. 人脸检测(七)--LBP特征原理及实现
  9. C/C++内存问题检查利器—Purify (三)
  10. 内存分析利器purify简介