关于Android获取屏幕分辨率大小

论坛 期权论坛 脚本     
匿名技术用户   2021-1-7 11:06   76   0

一、获取分辨率

使用getSize() 办法

 Display display = getWindowManager().getDefaultDisplay();
 Point size = new Point();
 display.getSize(size);
 int width = size.x;
 int height = size.y;
如果不在 Activity 内可以通过 WINDOW_SERVICE 来获取 Display 对象
 WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
 Display display = wm.getDefaultDisplay();

使用DisplayMetrics 对象来获取

 DisplayMetrics dm = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(dm);
 int width = dm.widthPixels;
 int height = dm.heightPixels;



二、虚拟按键的情况下获取物理分辨率
如果是4.0以上的系统,而且屏幕是带有虚拟按键的上面的代码获取的屏幕分辨率是除去虚拟按键以外的,在有虚拟按键情况下比如分辨率是:800×480 ,上面代码获取的是:480×728。那在带有虚拟按键的情况下如何获取真正的分辨率,可以使用display.getRealSize()
 Display display = getWindowManager().getDefaultDisplay();
 Point outSize = new Point();
 display.getRealSize(outSize);
 int width = outSize.x;
 int height = outSize.y;
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP