android获取屏幕可见高度,Android-获取屏幕宽高

本文详细介绍了在Android中如何获取屏幕的宽度、高度,包括应用的显示区域和实际显示区域,以及使用Display和DisplayMetrics类获取屏幕信息的方法。提供了不同API等级下的解决方案,包括获取屏幕的可见高度和宽度,以及实际高度和宽度。

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

类说明Provides information about the size and density of a logical display.

提供合理显示的,有关大小和密度的信息。

显示区域有2种描述方式应用程序的显示区域

不包括了状态栏(刘海屏,水滴屏等),导航栏等系统UI所占用的空间

实际显示区域

包括了状态栏(刘海屏,水滴屏等),导航栏等系统UI所占用的空间

获取Display的方式

1.任意Context/**

* Get Display

* @param context Context for get WindowManager

* @return Display

*/

private static Display getDisplay(Context context) {

WindowManager wm = (WindowManager) context.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);        if (wm != null) {            return wm.getDefaultDisplay();

} else {            return null;

}

}

2.限Activity通过Activity类型的Context,不仅可以通过Context的方式获取到WindowManager,还可以直接通过Activity的getWindowManager()获取到WindowManager对象,进而获取到Display对象。

通常我们需要获取屏幕的信息都是为了布局,如果是出于布局目的推荐直接这种方式获取Activity/**

* Get Display(限Activity类型的Context)

* @param activity Activity for get WindowManager

* @return Display

*/

private static Display getDisplay(Activity activity) {        //WindowManager wm = (WindowManager) activity.getSystemService(Context.WINDOW_SERVICE);

WindowManager wm = activity.getWindowManager();        if (wm != null) {            return wm.getDefaultDisplay();

} else {            return null;

}

}

3.结合上面2种方式(推荐)/**

* Get Display

* @param context Context for get WindowManager

* @return Display

*/

private static Display getDisplay(Context contex

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值