自API 17(JELLY_BEAN_MR1)以来添加了软件导航,因此我们只需要在API 17及更高版本中包含导航栏的大小.

并注意,当您获得屏幕尺寸时,它基于当前方向.

public void setScreenSize(Context context) {

int x, y, orientation = context.getResources().getConfiguration().orientation;

WindowManager wm = ((WindowManager)

context.getSystemService(Context.WINDOW_SERVICE));

Display display = wm.getDefaultDisplay();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) {

Point screenSize = new Point();

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {

display.getRealSize(screenSize);

x = screenSize.x;

y = screenSize.y;

} else {

display.getSize(screenSize);

x = screenSize.x;

y = screenSize.y;

}

} else {

x = display.getWidth();

y = display.getHeight();

}

int width = getWidth(x, y, orientation);

int height = getHeight(x, y, orientation);

}

private int getWidth(int x, int y, int orientation) {

return orientation == Configuration.ORIENTATION_PORTRAIT ? x : y;

}

private int getHeight(int x, int y, int orientation) {

return orientation == Configuration.ORIENTATION_PORTRAIT ? y : x;

}

android获取软件大小,android获取屏幕大小包括状态栏和软件导航栏的大小相关推荐

  1. word导航栏 字体大小修改

    这个字体大小对应windows系统文本的大小,所以只能把系统里的文本统一修改,所以修改得慎重! https://zhidao.baidu.com/question/130894027743374401 ...

  2. (AS笔记)Android全透明沉浸式主题样式——全屏沉浸隐藏底部导航栏

           上一章介绍了,Android全透明沉浸式主题样式--顶部状态栏+底部导航栏,教程传送门链接:         (AS笔记)Android全透明沉浸式主题样式--顶部状态栏+底部导航栏   ...

  3. 设置导航栏字体大小,颜色和加粗字体的方法

    [self.navigationController.navigationBar setTitleTextAttributes:         @{NSFontAttributeName:[UIFo ...

  4. android导航屏幕,发现具有软件导航栏的Android设备的真实屏幕尺寸(以像素为单位)...

    我需要能够知道屏幕的确切大小,不包括软件导航栏.我正在使用andengine来制作游戏. 我们希望全力支持新的Nexus系列(4,7和10) 根据许多人指出的this page,软件导航栏的大小应为4 ...

  5. android获取刘海屏状态栏高度,Android刘海屏全面屏底部导航栏的适配

    关于Android状态栏和虚拟导航栏的适配,文章:https://blog.csdn.net/leogentleman/article/details/54566319 讲的很不错. 状态栏的适配: ...

  6. uniapp设置导航栏、沉浸式导航栏以及获取屏幕尺寸

    页面上往往会有一些需要随着屏幕的大小变化而变化的样式,这时,我们就需要获取到屏幕的宽度和高度. 当然,一个H5页面或者微信小程序页面的导航栏会有多种形态,可以带有导航栏,也可以设置为沉浸式导航栏(即导 ...

  7. android功能导航布局,安卓9.0新功能 屏幕旋转将与导航栏同窗

    中关村在线消息:今天早些时候谷歌向开发者们推送了Android P(也称安卓9.0)的首个开发者预览版,在原先8.0的基础上进一步改进了通知栏,也为刘海屏幕专门进行了优化.意味着未来"刘海& ...

  8. Android 9.0系统源码_SystemUI(九)PhoneWindowManager构建状态栏和导航栏视图窗口区域坐标的流程解析

    前言 NavigationBar 和 StatusBar 都属于 SystemBar,也叫做 decor,就是说给 App 装饰的意思.一般的 window 的布局是在 PhoneWindowMana ...

  9. 【Android】【手机适配】Android自定义导航栏和全面屏适配方案

    名词说明 状态栏:StatusBar,手机上方显示电量.时间的横条 导航栏:NavigationBar,手机下方显示虚拟按键的横条 标题栏:ActionBar,应用顶部显示标题的横条 全面屏:界面内容 ...

最新文章

  1. modules not found(模块未找到)的解决方案
  2. mui实现手机web拍照_WEB前端开发与后端开发比较
  3. python中循环结构关键字_Python的循环结构,也简单!
  4. mysql中需要提交的操作_MySQL常用操作及基础知识
  5. druid mysql配置详解_druid 参数配置详解
  6. 【Linux】第一章 整合 JDK 和 MariaDB(附 Linux 基本命令)
  7. SpringBoot学习(四)
  8. 清掉数据_值得收藏!面试中有哪些经典的数据库问题?
  9. 了解SQL Server事务日志备份和完整备份的日志序列号
  10. 随心所欲学Java,起步-心理安慰
  11. [Vue warn]: Error in mount hook: “TypeError: Cannot read properties of null (reading ‘getAttribute‘)
  12. hdu4504java
  13. 小学计算机基础知识总结,小学信息技术课的基本知识点
  14. 基础资料表:行政区划、车型库、行业类别 可下载
  15. 工业元宇宙的价值和发展
  16. 控制台(console)与终端(terminal)理解
  17. get请求 params参数传递以及获取
  18. 多媒体开发之---开源库ffmeg的log之子解析
  19. java 多张jpg合成tif后避免tif文件过大的方法
  20. 工作站和台式机的区别

热门文章

  1. tableView的plain样式的headerView的上拉过程中悬停解决方法
  2. Ubuntn系统忘记密码的解决方法(虚拟机下同样处理)
  3. 解决JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer问题
  4. Git - ‘假设未改变‘和‘跳过工作树‘之间的区别
  5. 为什么String中的Java hashCode()使用31作为乘数?
  6. 在Android Studio中搜索整个项目中所有出现的字符串
  7. 如何检查变量是否是JavaScript中的数组? [重复]
  8. 为什么是string.join(list)而不是list.join(string)?
  9. iOS使用shell脚本批量修改属性
  10. 【WebAPI No.5】Core WebAPI中的自定义格式化