快速掌握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开发者们能有所帮助,如果有疑问大家可以留言交流。