本文主要介绍了Android 获取屏幕的多种宽高信息的示例代码,分享给大家,具体如下:

包含的宽高信息如下图所示:
在模拟器上获取到的数据:
08-26 07:19:32.712 7834-7834/com.czy.screeninfo E/MainActivity: getTotalScreenHeight 1920
08-26 07:19:33.505 7834-7834/com.czy.screeninfo E/MainActivity: getScreenWidth 1080
08-26 07:19:34.211 7834-7834/com.czy.screeninfo E/MainActivity: getAvailableScreenHeight 1794
08-26 07:19:34.979 7834-7834/com.czy.screeninfo E/MainActivity: getStatusBarHeight 63
08-26 07:19:35.580 7834-7834/com.czy.screeninfo E/MainActivity: getVirtualBarHeightIfRoom 126
08-26 07:19:36.340 7834-7834/com.czy.screeninfo E/MainActivity: getVirtualBarHeight 126
08-26 07:19:37.048 7834-7834/com.czy.screeninfo E/MainActivity: getTitleHeight 147
具体的代码:
/**
* 作者: chenZY
* 时间: 2017/8/26 14:37
* 描述:
*/
public class ScreenUtils {
/**
* 返回包括虚拟键在内的总的屏幕高度
* 即使虚拟按键显示着,也会加上虚拟按键的高度
*/
public static int getTotalScreenHeight(Activity activity) {
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);
return displayMetrics.heightPixels;
}
/**
* 返回屏幕的宽度
*/
public static int getScreenWidth(Activity activity) {
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);
return displayMetrics.widthPixels;
}
/**
* 返回屏幕可用高度
* 当显示了虚拟按键时,会自动减去虚拟按键高度
*/
public static int getAvailableScreenHeight(Activity activity) {
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
return displayMetrics.heightPixels;
}
/**
* 状态栏高度
*/
public static int getStatusBarHeight(Activity activity) {
int resourceId = activity.getResources().getIdentifier("status_bar_height", "dimen", "android");
return activity.getResources().getDimensionPixelSize(resourceId);
}
/**
* 获取虚拟按键的高度
* 会根据当前是否有显示虚拟按键来返回相应的值
* 即如果隐藏了虚拟按键,则返回零
*/
public static int getVirtualBarHeightIfRoom(Activity activity) {
DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int usableHeight = displayMetrics.heightPixels;
activity.getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);
int realHeight = displayMetrics.heightPixels;
return realHeight - usableHeight;
}
/**
* 获取虚拟按键的高度,不论虚拟按键是否显示都会返回其固定高度
*/
public static int getVirtualBarHeight(Activity activity) {
int resourceId = activity.getResources().getIdentifier("navigation_bar_height", "dimen", "android");
return activity.getResources().getDimensionPixelSize(resourceId);
}
/**
* 标题栏高度,如果隐藏了标题栏则返回零
*/
public static int getTitleHeight(Activity activity) {
return activity.getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
}
/**
* 将dp值转换为px值
*/
public static int dp2px(Context context, float dpValue) {
float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 将px值转换为dp值
*/
public static int px2dp(Context context, float pxValue) {
float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);
}
}
或者也可以从这里下载代码:Android 获取屏幕的多种宽高信息
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# android获取屏幕宽度
# android
# 获取屏幕宽高
# 安卓获取屏幕宽度
# Android 四种获取屏幕宽度的方法总结
# android开发教程之textview内容超出屏幕宽度显示省略号
# 转换为
# 标题栏
# 也会
# 给大家
# 所示
# 这里下载
# 者也
# 大家多多
# 如下图
# 状态栏
# 器上
# getVirtualBarHeightIfRoom
# getAvailableScreenHeight
# getStatusBarHeight
# pre
# class
# java
# brush
# getVirtualBarHeight
# chenZY
相关文章:
如何在搬瓦工VPS快速搭建网站?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
建站OpenVZ教程与优化策略:配置指南与性能提升
建站之星如何助力企业快速打造五合一网站?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
高端建站三要素:定制模板、企业官网与响应式设计优化
家具网站制作软件,家具厂怎么跑业务?
中山网站推广排名,中山信息港登录入口?
独立制作一个网站多少钱,建立网站需要花多少钱?
成都网站制作报价公司,成都工业用气开户费用?
如何构建满足综合性能需求的优质建站方案?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
Java解压缩zip - 解压缩多个文件或文件夹实例
宝塔建站教程:一键部署配置流程与SEO优化实战指南
太平洋网站制作公司,网络用语太平洋是什么意思?
建站之星安装失败:服务器环境不兼容?
,购物网站怎么盈利呢?
小型网站制作HTML,*游戏网站怎么搭建?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
C#如何使用XPathNavigator高效查询XML
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
制作销售网站教学视频,销售网站有哪些?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
,在苏州找工作,上哪个网站比较好?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
家庭建站与云服务器建站,如何选择更优?
建站VPS能否同时实现高效与安全翻墙?
如何快速搭建个人网站并优化SEO?
制作宣传网站的软件,小红书可以宣传网站吗?
如何挑选最适合建站的高性能VPS主机?
,柠檬视频怎样兑换vip?
如何在阿里云域名上完成建站全流程?
微信小程序 input输入框控件详解及实例(多种示例)
Android自定义listview布局实现上拉加载下拉刷新功能
如何基于云服务器快速搭建网站及云盘系统?
定制建站是什么?如何实现个性化需求?
如何快速登录WAP自助建站平台?
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
如何用搬瓦工VPS快速搭建个人网站?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
建站之星如何修改网站生成路径?
c++ stringstream用法详解_c++字符串与数字转换利器
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
活动邀请函制作网站有哪些,活动邀请函文案?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
5种Android数据存储方式汇总
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
如何在IIS服务器上快速部署高效网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。