快速掌握Android屏幕的知识点
一、首先来介绍下关于PX、PT、PPI、DPI、DP的知识
其中px,pt,dp为长度单位,ppi和dpi为密度单位
二、下面提供几个常用的方法
1、获取屏幕高度
publicintgetRealHeight(Activityactivity){ intheightPixels=0; Displaydisplay=activity.getWindowManager().getDefaultDisplay(); finalintVERSION=Build.VERSION.SDK_INT; if(VERSION<13){ display.getHeight(); }elseif(VERSION==13){ try{ heightPixels=(Integer)Display.class.getMethod("getRawHeight").invoke(display); }catch(Exceptione){ } }else{ PointrealSize=newPoint(); try{ Display.class.getMethod("getRealSize",Point.class).invoke(display,realSize); heightPixels=realSize.y; }catch(Exceptione){ } } returnheightPixels; }
2、获取屏幕密度
/** *获取屏幕密度 *@return */ publicstaticfloatgetScreenDensity(Activityactivity){ DisplayMetricsdisplayMetrics=newDisplayMetrics(); activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); returndisplayMetrics.density; }
3、获取屏幕可操作区域宽度dp数目
/** *获取屏幕可操作区域宽度dp数目 * *@paramactivity *@return */ publicstaticfloatgetScreenWidthDp(Activityactivity){ returngetScreenWidth(activity)/getScreenDensity(activity); }
4、获取屏幕高度可操作区域dp数目
/** *获取屏幕高度可操作区域dp数目 * *@paramactivity *@return */ publicstaticfloatgetScreenHeightDp(Activityactivity){ returngetScreenHeight(activity)/getScreenDensity(activity); }
5、获取屏幕真实宽度dp数目
/** *获取屏幕真实宽度dp数目 * *@paramactivity *@return */ publicstaticfloatgetRealWidthDp(Activityactivity){ returngetRealWidth(activity)/getScreenDensity(activity); }
6、获取屏幕真实高度dp数目
/** *获取屏幕真实高度dp数目 * *@paramactivity *@return */ publicstaticfloatgetRealHeightDp(Activityactivity){ returngetRealHeight(activity)/getScreenDensity(activity); }
7、判断是否为平板
publicstaticbooleanisTablet(Activityactivity){ returnisMoreThan6Inch(activity)&&isScreenSizeLarge(activity); }
/** *判断是否大于6英寸 *@paramactivity *@return */ publicstaticbooleanisMoreThan6Inch(Activityactivity){ returngetScreenInch(activity)>=6.0; }
/** *判断设备是否为大尺寸屏幕 * *@paramcontext *@return */ publicstaticbooleanisScreenSizeLarge(Contextcontext){ return(context.getResources().getConfiguration().screenLayout&Configuration.SCREENLAYOUT_SIZE_MASK)>=Configuration.SCREENLAYOUT_SIZE_LARGE; }
总结
以上就是关于Android屏幕知识点的全部内容了,希望本文的内容对各位Android开发者们能有所帮助,如果有疑问大家可以留言交流。