首页 > 编程知识 正文

安卓获取屏幕宽高,pc与android像素

时间:2023-05-03 06:55:59 阅读:59856 作者:2178

安卓如何准确获取画面的宽度、高度、密度?

请注意,不同版本之间有些差异。 在4.2中添加虚拟导航栏后,以前获取的屏幕高度将不再包含导航栏。 所以需要区分版本来获取。

顺便说一下,

该商品由windowmanagerwindowmanager=activity.getwindow manager (

该商品的windowmanagerwindowmanager=(window manager ) context.getsystemservice (context.window _ service );

进去看看源代码就知道了,其实是一样的。 但是,这种方法getWindowManager只能在活动下使用。

package com.dway.common.utils; 导入安卓. app.activity; 导入安卓. content.context; import android.os.Build; 导入安卓. util.display metrics; 导入安卓. util.log; 导入Android.view.window manager; /** *获取屏幕宽度、高度、像素数等工具类。 */publicclassdisplayutil { privatestaticfinalstringtag=' display util '; publicstaticdisplaymetricsgetdisplaymetrics (activity activity ) displaymetricsdisplaymetrics=newdisplaymetrics ); if (build.version.SDK _ int=build.version _ codes.jelly _ bean _ mr1 ) { //4.2上有虚拟导航栏,屏幕高度为activity else { activity.getwindow manager (.getdefaultdisplay ) ).getmetrics (显示度量); //display metrics=activity.get resources (.getdisplaymetrics ); //或也可以用该方法}返回显示度量; } publicstaticdisplaymetricsgetdisplaymetrics (上下文) windowmanagerwindowmanager=(窗口管理器) context.get if (build.version.SDK _ int=build.version _ codes.jelly _ bean _ mr1 (window manager.getdefaultdisplay () ) }返回显示度量; } publicstaticvoidprintdisplaymetrics (活动活动) displaymetricsdisplaymetrics=getdisplaymetrics (活动) activity ); log.v(tag,----printdisplaymetrics---- ' width pixels=' display metrics.width pixels ',height pixels=' display ) height pixels density=' display metrics.density ',density dpi=' display metrics.density dpi; } publicstaticvoidprintdisplaymetrics (上下文) displaymetricsdisplaymetrics=getdisplaymetrics ) context; log.v(tag,----printdisplaymetrics---- ' width pixels=' display metrics.width pixels ',height pixels=' display ) height pixels density=' display metrics.density ',density dpi=' display metrics.density dpi; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。