Android 获取屏幕的多种宽高信息
来源:互联网 发布:浙江儿童dna数据库利弊 编辑:程序博客网 时间:2024/05/21 06:57
包含的宽高信息如下图所示:
在模拟器上获取到的数据:
08-26 07:19:32.712 7834-7834/com.czy.screeninfo E/MainActivity: getTotalScreenHeight 192008-26 07:19:33.505 7834-7834/com.czy.screeninfo E/MainActivity: getScreenWidth 108008-26 07:19:34.211 7834-7834/com.czy.screeninfo E/MainActivity: getAvailableScreenHeight 179408-26 07:19:34.979 7834-7834/com.czy.screeninfo E/MainActivity: getStatusBarHeight 6308-26 07:19:35.580 7834-7834/com.czy.screeninfo E/MainActivity: getVirtualBarHeightIfRoom 12608-26 07:19:36.340 7834-7834/com.czy.screeninfo E/MainActivity: getVirtualBarHeight 12608-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 获取屏幕的多种宽高信息
阅读全文
0 0
- Android 获取屏幕的多种宽高信息
- Android 获取屏幕的多种信息
- Android:获取屏幕信息(宽高)的代码
- Android获取屏幕宽高信息
- android 获取屏幕的宽高
- android获取屏幕的宽、高
- Android开发获取屏幕的宽高
- android 获取屏幕的宽高
- Android 获取屏幕的宽高
- android获取屏幕的宽高
- android获取屏幕的宽高
- android,获取屏幕宽高的方法
- Android获取屏幕的宽高
- android 获取屏幕的宽高
- android 获取屏幕、xml的宽高
- android获取屏幕大小的多种方法
- js获取浏览器和屏幕宽高的信息
- js获取浏览器高和宽的基本信息:屏幕信息
- java中的重定向和转发
- 在VS中使用命令行参数
- 数学建模专栏 | 第八篇:MATLAB评价型模型求解方法
- 解决Jenkins在解锁后卡主的问题
- QSignalMapper
- Android 获取屏幕的多种宽高信息
- Android--TabLayout控件的使用
- Unity2017 UGUI开发 之 按钮点击事件处理
- C#显式转换与隐式转换
- LDAP方式连接AD获取用户信息
- GreenPlum学习(一)
- [JS] JS数组遍历的几种方式性能比较
- 【转载】
- MySQL学习之流程函数