Android如何获取屏幕的尺寸和屏幕的分辨率呢?

本文介绍了在不同Android版本中获取屏幕尺寸与分辨率的方法。针对API Level 13及以上版本,提供了使用Display对象的getSize方法获取尺寸的方式;对于较低版本,则使用getWidth与getHeight方法。此外,还介绍了如何通过DisplayMetrics对象计算屏幕分辨率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发中,往往需要用到屏幕的实际尺寸、分辨率来绘制布局、效果适配等。那么怎么获得呢?

首先看一下获取屏幕的尺寸:

1、从Android 3.2(API Level 13)开始,在Activity里使用下面的方法来获取屏幕尺寸(单位是像素):

Display display = getWindowManager().getDefaultDisplay(); //Activity#getWindowManager()
Point size = newPoint(); 
display.getSize(size); 
int width =size.x; 
int height = size.y;

如果代码不是写在Activity里,用下面的方法(通过WINDOW_SERVICE获取display对象):

WindowManager wm =(WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
  Display display =wm.getDefaultDisplay();
  Point size = newPoint();
display.getSize(size); 
int width =size.x; 
int height = size.y;
2、如果Android版本小于3.2,即API Level小于 13,那么因为Display对象还没有getSize()方法,应该用下面的方法获取屏幕尺寸:
Display display =getWindowManager().getDefaultDisplay();
int width = display.getWidth(); 
int height = display.getHeight();


接下来看一下如何获取屏幕的分辨率:
DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
float width=dm.widthPixels*dm.density;
float height=dm.heightPixels*dm.density;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值