本文主要介绍了Android 获取屏幕的多种宽高信息的示例代码,分享给大家,具体如下:包含的宽高信息如下图所示:在模拟器上获取到的数据:08-26 07:19:32.712 7834-7834/com.czy.screeninfo E/Ma
本文主要介绍了Android 获取屏幕的多种宽高信息的示例代码,分享给大家,具体如下:
包含的宽高信息如下图所示:
在模拟器上获取到的数据:
08-26 07:19:32.712 7834-7834/com.czy.screeninfo E/MainActivity: getTotalScreenHeight 1920
08-26 07:19:33.505 7834-7834/com.czy.screeninfo E/MainActivity: getScreenWidth 1080
08-26 07:19:34.211 7834-7834/com.czy.screeninfo E/MainActivity: getAvailableScreenHeight 1794
08-26 07:19:34.979 7834-7834/com.czy.screeninfo E/MainActivity: getStatusBarHeight 63
08-26 07:19:35.580 7834-7834/com.czy.screeninfo E/MainActivity: getVirtualBarHeightIfRoom 126
08-26 07:19:36.340 7834-7834/com.czy.screeninfo E/MainActivity: getVirtualBarHeight 126
08-26 07:19:37.048 7834-7834/com.czy.screeninfo E/MainActivity: getTitleHeight 147
具体的代码:
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(); } public static int dp2px(Context context, float dpValue) { float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } public static int px2dp(Context context, float pxValue) { float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }}
--结束END--
本文标题: Android 获取屏幕的多种宽高信息的示例代码
本文链接: https://www.lsjlt.com/news/221409.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
2024-04-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0